博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring Cloud ---- 服务消费与负载均衡(Rest + Ribbon )
阅读量:6253 次
发布时间:2019-06-22

本文共 1494 字,大约阅读时间需要 4 分钟。

  上一篇主要写了基于Eurake的服务的注册,主要就是创建注册中心,创建服务者,将服务者注册到注册中心,完成服务的暴露。这一篇主要写服务的消费与服务消费的负载均衡。

  服务的调用方式有两种,Rest + ribbon ,另一钟是feign,feign集成了ribbon。这一篇主要说前者.

  因为服务消费者也是属于client,并且还有对于ribbon的依赖,创建服务消费者工程需要引入jar包

spring-cloud-starter-netflix-eureka-client,spring-cloud-starter-netflix-ribbon。

1.配置文件中要声明注册中心的地址,消费者注册的端口号,消费者的应用名。

2.在主方法上添加@EnableEurakeClient 和 @EnableDiscoverClient

3.通过@Bean RestTemplate 注入容器,并且@LoadBalanced 启动负载均衡功能

 

eureka:  client:    serviceUrl:      defaultZone: http://localhost:8761/eureka/server:  port: 8764spring:  application:    name: service-ribbon
@SpringBootApplication@EnableEurekaClient@EnableDiscoveryClientpublic class ServiceRibbonApplication {    public static void main(String[] args) {        SpringApplication.run( ServiceRibbonApplication.class, args );    }    @Bean    @LoadBalanced    RestTemplate restTemplate() {        return new RestTemplate();    }}
@Servicepublic class HelloService {    @Autowired    RestTemplate restTemplate;    public String hiService(String name) {        return restTemplate.getForObject("http://SERVICE-HI/hi?name="+name,String.class);    }}

服务名称的请求在发送请求的时候会替换为对应的具体URL

@RestControllerpublic class HelloControler {    @Autowired    HelloService helloService;    @GetMapping(value = "/hi")    public String hi(@RequestParam String name) {        return helloService.hiService( name );    }}

采用不同的端口号启动两个服务消费者,在页面进行多次请求,会循环采用不同的端口号(负载算法后续补上)。

现在的服务架构我画了个图:很丑,对付着看吧

今天就先写到这吧,睡觉睡觉.

转载于:https://www.cnblogs.com/zmeRecord/p/9950060.html

你可能感兴趣的文章
halcon图像合并(贴图到指定位置)
查看>>
stark组件(2):提取公共视图函数、URL分发和设置别名
查看>>
描述符应用 -- 让python变成一个强类型的语言
查看>>
若一个M*N的举证当中某个元素为零,则将其所有的行和列清零。
查看>>
android——使用Interceptor设置缓存来给服务器减负
查看>>
样式独立性的解决方案
查看>>
解决Json的DateTime格式问题
查看>>
maven的安装与使用
查看>>
RHEL7恢复root密码
查看>>
依赖注入方法
查看>>
Modelsim使用常见问题集锦(实时更新)
查看>>
刷leetcode是什么样的体验?【转】
查看>>
VS Code开发技巧集锦【转】
查看>>
linux内核数据结构之kfifo【转】
查看>>
c++学习笔记(新手学习笔记,如有错误请与作者联系)
查看>>
java集合复制和反转
查看>>
记录openlaw的反爬
查看>>
Matlab数据转化至python端,并写入数据库
查看>>
js 获取据当前时间n天前的时间
查看>>
json字符串与json对象的相互转换
查看>>