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

个人网站设计 优帮云互联网保险发展历程

个人网站设计 优帮云,互联网保险发展历程,百度网址ip,泰安房产网新楼盘在上一篇《Spring Cloud构建微服务架构#xff08;一#xff09;服务注册与发现》中#xff0c;我们已经成功创建了“服务注册中心”#xff0c;实现并注册了一个“服务提供者#xff1a;COMPUTE-SERVICE”。那么我们要如何去消费服务提供者的接口内容呢#xff1f; Rib…在上一篇《Spring Cloud构建微服务架构一服务注册与发现》中我们已经成功创建了“服务注册中心”实现并注册了一个“服务提供者COMPUTE-SERVICE”。那么我们要如何去消费服务提供者的接口内容呢 Ribbon Ribbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon后续会介绍Feign的使用。 Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。 当Ribbon与Eureka联合使用时ribbonServerList会被DiscoveryEnabledNIWSServerList重写扩展成从Eureka注册中心中获取服务端列表。同时它也会用NIWSDiscoveryPing来取代IPing它将职责委托给Eureka来确定服务端是否已经启动。 下面我们通过实例看看如何使用Ribbon来调用服务并实现客户端的均衡负载。 准备工作 启动Chapter-9-1-1中的服务注册中心eureka-server启动Chapter-9-1-1中的服务提供方compute-service修改compute-service中的server-port为2223再启动一个服务提供方compute-service 此时访问http://localhost:1111/ 可以看到COMPUTE-SERVICE服务有两个单元正在运行 192.168.21.101:compute-service:2222 192.168.21.101:compute-service:2223 使用Ribbon实现客户端负载均衡的消费者 构建一个基本Spring Boot项目并在pom.xml中加入如下内容 parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version1.3.5.RELEASE/version relativePath/ !-- lookup parent from repository --/parentdependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-ribbon/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-test/artifactId scopetest/scope /dependency/dependenciesdependencyManagement dependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-dependencies/artifactId versionBrixton.RELEASE/version typepom/type scopeimport/scope /dependency /dependencies/dependencyManagement在应用主类中通过EnableDiscoveryClient注解来添加发现服务能力。创建RestTemplate实例并通过LoadBalanced注解开启均衡负载能力。 SpringBootApplicationEnableDiscoveryClientpublic class RibbonApplication { Bean LoadBalanced RestTemplate restTemplate() { return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(RibbonApplication.class, args); }}创建ConsumerController来消费COMPUTE-SERVICE的add服务。通过直接RestTemplate来调用服务计算10 20的值。 RestControllerpublic class ConsumerController { Autowired RestTemplate restTemplate; RequestMapping(value /add, method RequestMethod.GET) public String add() { return restTemplate.getForEntity(http://COMPUTE-SERVICE/add?a10b20, String.class).getBody(); }}application.properties中配置eureka服务注册中心 spring.application.nameribbon-consumerserver.port3333eureka.client.serviceUrl.defaultZonehttp://localhost:1111/eureka/启动该应用并访问两次http://localhost:3333/add 然后打开compute-service的两个服务提供方分别输出了类似下面的日志内容 端口为2222服务提供端的日志 2016-06-02 11:16:26.787 INFO 90014 --- [io-2222-exec-10] com.didispace.web.ComputeController : /add, host:192.168.21.101, service_id:compute-service, result:30端口为2223服务提供端的日志 2016-06-02 11:19:41.241 INFO 90122 --- [nio-2223-exec-1] com.didispace.web.ComputeController : /add, host:192.168.21.101, service_id:compute-service, result:30可以看到之前启动的两个compute-service服务端分别被调用了一次。到这里我们已经通过Ribbon在客户端已经实现了对服务调用的均衡负载。 完整示例可参考Chapter9-1-2/eureka-ribbon Feign Feign是一个声明式的Web Service客户端它使得编写Web Serivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。它具备可插拔的注解支持包括Feign注解和JAX-RS注解。Feign也支持可插拔的编码器和解码器。Spring Cloud为Feign增加了对Spring MVC注解的支持还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。 下面通过一个例子来展现Feign如何方便的声明对上述computer-service服务的定义和调用。 创建一个Spring Boot工程配置pom.xml将上述的配置中的ribbon依赖替换成feign的依赖即可具体如下 parent groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-parent/artifactId version1.3.5.RELEASE/version relativePath/ !-- lookup parent from repository --/parentdependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-feign/artifactId /dependency dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-starter-eureka/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-test/artifactId scopetest/scope /dependency/dependenciesdependencyManagement dependencies dependency groupIdorg.springframework.cloud/groupId artifactIdspring-cloud-dependencies/artifactId versionBrixton.RELEASE/version typepom/type scopeimport/scope /dependency /dependencies/dependencyManagement在应用主类中通过EnableFeignClients注解开启Feign功能具体如下 SpringBootApplicationEnableDiscoveryClientEnableFeignClientspublic class FeignApplication { public static void main(String[] args) { SpringApplication.run(FeignApplication.class, args); }}定义compute-service服务的接口具体如下 FeignClient(compute-service)public interface ComputeClient { RequestMapping(method RequestMethod.GET, value /add) Integer add(RequestParam(value a) Integer a, RequestParam(value b) Integer b);}使用FeignClient(compute-service)注解来绑定该接口对应compute-service服务通过Spring MVC的注解来配置compute-service服务下的具体实现。 在web层中调用上面定义的ComputeClient具体如下 RestControllerpublic class ConsumerController { Autowired ComputeClient computeClient; RequestMapping(value /add, method RequestMethod.GET) public Integer add() { return computeClient.add(10, 20); }}application.properties中不用变指定eureka服务注册中心即可如 spring.application.namefeign-consumerserver.port3333eureka.client.serviceUrl.defaultZonehttp://localhost:1111/eureka/启动该应用访问几次http://localhost:3333/add 再观察日志可以得到之前使用Ribbon时一样的结果对服务提供方实现了均衡负载。 这一节我们通过Feign以接口和注解配置的方式轻松实现了对compute-service服务的绑定这样我们就可以在本地应用中像本地服务一下的调用它并且做到了客户端均衡负载。 完整示例可参考Chapter9-1-2/eureka-feign 【转载请注明出处】http://blog.didispace.com/springcloud2/
http://www.pierceye.com/news/58286/

相关文章:

  • 网站html动态效果深圳建设厅网站官网
  • 杭州做网站好的公司通州网站网站建设
  • 做网站建设的怎么寻找客户网页设计网站模板
  • 武钢建工集团建设分公司网站做内贸现在一般都通过哪些网站
  • 青岛谷歌seo无锡网站的优化哪家好
  • 太原做淘宝网站的电子商务网站规划建设方案
  • 网站建设整体流程给网站做h5缓存机制
  • 义乌网站建设方案详细门户网站 销售
  • 婚纱摄影网站的设计个人做考试类网站
  • 唯品会网站建设特色wordpress php那个版本号
  • 小男孩和女人做的网站杭州科技网站
  • 免费论坛网站大全wordpress动漫网站
  • 海外人才招聘网站广州商城网站建设公司
  • 江西网站建设哪家公司好毛纱厂家东莞网站建设
  • 北京工程建设信息交易网保定网站建设seo优化营销
  • 网站开发的一般流程新闻写作网站
  • 知乎网站建设深圳手机端网站建设专业公司
  • 互联网网站建设计划书wordpress文章列表图片
  • 建设银行怎么加入信用网站wordpress 商品插件
  • 建设网站需要注意什么问题建设全网营销型网站
  • iapp怎么把网站做软件成都网站建设商家
  • 网站制作 商务科技创新的重要性和意义
  • 通用cms网站全国平面设计大赛官网
  • 有没有好网站推荐seo网站分析
  • 肇庆企业建站模板3东莞网站建设
  • 大同网站建设设计免费发帖网站大全
  • 外文网站建站北京理工大学网站开发与应用
  • 福州网站建设外包wordpress新建菜单
  • 大型网站建设价格中国工程建设信息网官网查询
  • 驾校报名网站怎么做医院病房建设网站