当前位置: 首页 > wzjs >正文

ppt成品免费下载的网站网站后台上传图片做难吗

ppt成品免费下载的网站,网站后台上传图片做难吗,今天国际新闻最新消息10条,wordpress主题域名授权破解一、微服务注册中心Consul 编写完延迟任务系统的web层接口,也就是说可以基于http协议来访问延迟系统,接下来要将延迟任务改造成一个服务。首要考虑的问题就是服务的注册与发现,服务的注册与发现都离不开服务的注册中心,本项目选取…

一、微服务注册中心Consul

编写完延迟任务系统的web层接口,也就是说可以基于http协议来访问延迟系统,接下来要将延迟任务改造成一个服务。首要考虑的问题就是服务的注册与发现,服务的注册与发现都离不开服务的注册中心,本项目选取Consul作为注册中心。

注册中心为什么选择Consul

SpringCloud支持很多的服务发现软件,Eureka只是其中之一,常见的服务发现软件有:
Eureka
Consul
Zookeeper
Feature
etcd

Consul的特性

1.Consul是一个分布式高可用系统,他包含多个组件,但是作为一个整体,在微服务架构中为我们的基础设施提供服务发现和服务配置功能。
2.是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。
3.内置了服务注册与发现框架,分布式一致性协议实现,健康检查,key/value存储,多数据中心方案。
4.分布式实现不需要依赖其他工具,比如Zookeeper。
5.使用Go语言编写,具备天然可移植性,支持Linux、windows和Mac OS X,安装包仅一个可执行文件。

1.1.Consul安装

启动成功后打开浏览器访问网址: http://localhost:8500/
在这里插入图片描述

1.2.Consul的特性

服务发现、健康检查、Key/Value存储、多数据中心

1.3.Consul的优势

1.使用Raft算法保证一致性,比复杂的Paxos算法更直接。
2.支持多数据中心,内外网的服务采用不同端口进行监听。多数据中心集群可以避免但数据中心的单点故障,而其部署则需要考虑网络延迟,分片等情况。
3.支持健康检查
4.支持HTTP和DNS协议接口
5.官方提供web管理界面

1.4.Consul的角色

Client客户端

1.无状态
2.将HTTP和DNS接口请求转发给局域网的服务端集群

server服务端

1.保存配置信息
2.高可用集群
3.在局域网内与本地客户端通信
4.通过广域网与其他数据中心通信
5.每个数据中心的server数量推荐3个或5个

Consul的服务端和客户端支持跨中心使用,更加提升了高可用性。

二、SpringCloud集成Consul

现在需要使用SpringCloud集成Consol,将延迟任务注册到注册中心,变成一个服务。目前项目都是基于SpringBoot去构建的,需要将两者版本进行对应避免在开发过程中出现一些不必要的麻烦,需要注意SpringBoot和SpringCloud的版本对应关系。

步骤一:在chongba_parent父工程的pom文件中添加SpringCloud的依赖管理

先添加properties版本号参数

<spring-cloud.version>Greenwich.SR1</spring-cloud.version>

然后添加SpringCloud依赖坐标

<dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

步骤二:延迟任务系统需要在注册中心去注册,在chongba_schedule_service的pom文件中添加依赖

<!--健康检查依赖包-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--SpringCloudConsul支持包-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

步骤三:在chongba_schedule_service的application.yml配置文件中添加如下配置

springcloud:consul:host: 127.0.0.1port: 8500discovery:serviceName: ${spring.application.name}

步骤四:启动ScheduleApplication,查看Consul的UI控制台界面

在这里插入图片描述

三、延迟任务Feign集成

项目目前已经使用springcloud和consol进行了集成。并且将延迟任务系统在注册中心进行了注册,已经注册成为了一个微服务。并且我们已经启动了两个节点,成功改造成了分布式。
那么我们如何去调用服务?我们不可能使用向之前那样使用PostMan 去发送http请求调用。我们需要集成Feign组件。Feign组件集成之后,我们对服务的调用就会转换为对Feign接口方法的调用,使得调用http服务更加的简单。

Feign是一个声明式的HTTP客户端,spring-cloud-openfeign将feign集成到spring boot中,在接口上通过注解声明Rest协议,就能将http调用转换为接口方法的调用,这样达到客户端调用http服务更加简单。

此外:Spring Cloud Feign还整合了Spring Cloud Ribbon (负载均衡)和Spring Cloud Hystrix(熔断器)

步骤:

步骤1:在父工程chongba_parent下创建子模块chongba_schedule_feign,单独创建一个feign模块的作用是为了让其他模块使用起来更加的方便,直接引入feign模块即可。

步骤2:在chongba_schedule_feign模块的pom文件中添加如下依赖

<dependencies><dependency><groupId>com.chongba</groupId><artifactId>chongba_common</artifactId><version>1.0-SNAPSHOT</version></dependency><!--健康检查依赖包--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--SpringCloudConsul支持包--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId></dependency><!--feign 支持 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
</dependencies>

步骤3:在src/main/java下创建包com.chongba.feign,并在该包下创建TaskServiceClient接口,用于调用延迟任务服务schedule-service

@FeignClient("schedule-service") //指定调用的服务名称
public interface TaskServiceClient {@PostMapping("/task/push")public ResponseMessage push(@RequestBody Task task);@GetMapping("/task/poll/{type}/{priority}")public ResponseMessage poll(@PathVariable("type") Integer type, @PathVariable("priority") Integer priority);@PostMapping("/task/cancel")public ResponseMessage cancel(@RequestParam("taskId") Long taskId);
}

下面如果想在chongba_schedule_feign工程中直接能对TaskServiceClient接口中的方法进行测试,则需要进行如下步骤的配置操作:

步骤1:在src/main/resources下创建配置文件 application.yml,并添加如下配置

spring:   application:  name: fegin #指定服务名cloud:consul:host: 127.0.0.1port: 8500discovery:register: false #不需要注册到consul

注意:feign无需在consul中注册,因为feign只需要去发现服务然后进行调用即可,自己本身并不需要称为一个服务

步骤2:在chongba_schedule_feign下创建启动类FeignAppliction

@SpringBootApplication
@EnableFeignClients
public class FeignAppliction {public static void main(String[] args) {SpringApplication.run(FeignAppliction.class,args);}
}

步骤3:在chongba_schedule_feign工程下创建测试包:com.chongba.feign,并创建测试类TaskClientTest,添加测试方法测试添加任务

@RunWith(SpringRunner.class)
@SpringBootTest(classes = FeignAppliction.class)
public class TaskClientTest {@Autowiredprivate TaskServiceClient taskServiceClient;@Testpublic void test1(){for (int i = 0; i < 4; i++) {Task task  = new Task();task.setTaskType(2003);task.setParameters("testFeignClient".getBytes());task.setPriority(100);task.setExecuteTime(new Date().getTime());ResponseMessage reponse = taskServiceClient.push(task);System.out.println(reponse);}}@Testpublic void test2(){ResponseMessage message = taskServiceClient.poll(2003, 100);System.out.println(message);}@Testpublic void test3(){taskServiceClient.cancel(1175734747444367362L);// 从数据库或缓存中查找一个任务id}
}

步骤4:测试,先清空数据库和缓存,必须保证延迟任务服务是启动状态,启动两个节点:81,82,以便测试出feign对负载均衡的集成。

feign接口注意事项:

  1. 当参数比较复杂时,feign即使声明为get请求也会强行使用post请求
    HTTP 405 错误 – 方法不被允许 (Method not allowed)
  2. 有参数时候必须使用 @RequestParam注解 必须要在后面加上参数名

文章转载自:

http://i5j4rPwf.ttdbr.cn
http://bbmdw4lB.ttdbr.cn
http://n6NUflwL.ttdbr.cn
http://WFBTveAo.ttdbr.cn
http://Uu6zVF7z.ttdbr.cn
http://DPyRHKrI.ttdbr.cn
http://m48YpyyR.ttdbr.cn
http://oF6mw1iK.ttdbr.cn
http://HHXZUe5P.ttdbr.cn
http://P8Sz0rkv.ttdbr.cn
http://RxN1m4qK.ttdbr.cn
http://n7gGrEBZ.ttdbr.cn
http://TBnsISSU.ttdbr.cn
http://JmO7gGaM.ttdbr.cn
http://Vx7q96iU.ttdbr.cn
http://jVXhyX1M.ttdbr.cn
http://IiysXWsM.ttdbr.cn
http://3HbfwcS7.ttdbr.cn
http://ssa0CMzM.ttdbr.cn
http://oCb117Up.ttdbr.cn
http://h6lia61r.ttdbr.cn
http://yW47veeu.ttdbr.cn
http://8nXI5XRr.ttdbr.cn
http://9Yy4QOEC.ttdbr.cn
http://UZmW9tca.ttdbr.cn
http://FrMAXANu.ttdbr.cn
http://ddSqHT3P.ttdbr.cn
http://LijodRsT.ttdbr.cn
http://0Rhcj8fw.ttdbr.cn
http://OF2nDqBM.ttdbr.cn
http://www.dtcms.com/wzjs/659018.html

相关文章:

  • 做导师一般去什么网站找素材图书类网站开发的背景
  • 像天猫网站怎么做珠宝网站开发
  • 百度收录排名好的网站建凡网站
  • 网站招生宣传怎么做经典logo设计案例分析
  • 网站开发流程三部分怎么做企业网站一级悬浮菜单
  • 演示动画制作免费网站建设网站询价对比表模板
  • 微营销 网站模板网站建设方案书含合同
  • 招聘网站建设人员企业网页设计论文
  • 义乌购网站做代销怎么样代理一款网页游戏需要多少钱
  • 厦门比较好的网站设计公司做调查挣钱的网站
  • 遂宁网站制作pc端好玩的大型网游
  • 天津网站建设市场传奇辅助网站怎么做
  • 南昌公司做网站汕头企业网站公司
  • 国际新闻最新消息今天2024年网站怎么自己优化
  • 在58同城做网站怎么样广州化妆品网站制作
  • 网站建设首选-云端高科不会编程能建网站
  • 免费的ai写作网站陕西秦地建设有限公司网站
  • 网站访问量过大微信网站开发简单
  • 毕设做桌面端还是网站小程序商城推广哪家好
  • 橙色的网站wordpress 代码大全
  • 拖拽网站怎么做的商丘网站建设公司
  • phpok企业建站系统网站分析怎么做
  • 找外包做网站xampp做网站
  • 怎么做企业曝光引流网站建站平台有哪些免费一键搭建网站
  • vs2015做简单网站中国建设银行网上银行个人登录官方网站
  • 2008iis 网站 打不开嘉兴网站建设一薇
  • dedecms网站后台管理免费设计手写签名
  • 新建的网站百度搜不到wordpress本地访问很慢
  • 网站快速优化排名app济源网站优化
  • 新网站如何做seo优化目前玩的人最多网游排行