范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

SpringCloud如何实现服务的发现与消费

  相信我们已经能够搭建起微服务架构的各个模块,并且已经成功运行起来。
  现在我们已经有了服务注册中心和服务提供者,下面就来尝试构建一个服务消费者。服务消费者
  这个服务消费者,主要完成两个目标:发现服务以及消费服务
  其中,服务的发现任务是由Eureka客户端完成,而服务消费的任务是由Ribbon完成,Ribbon是一个基于HTTP和TCP的客户端负载均衡器,它可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到负载均衡的作用。当Ribbon与Eureka联合使用时,Ribbon的服务实例清单ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eureka注册中心中获取服务端列表。同时它也会用NIWSServerPing来取代IPing,它将职责委托给Eureka来确定服务端是否已经启动。本质就是它在Eureka服务发现的基础上实现了一套对服务实例的选择策略,从而实现对服务的消费。编码实现1.准备工作
  启动之前高可用的服务注册中心eureka-server以及hello-service服务,为了试实验Ribbon的客户端负载均衡的功能,通过java -jar命令行的方式来启动不同端口的hello-service
  但是在打包之前,如果hello-service中有测试类,需要将测试类跳过,否则敲入命令mvn:install会报错,因此打包的时候要使用这个命令:mvn install -Dmaven.test.skip=true 复制代码
  然后在target目录下,敲入命令:java -jar springboot-01-1.0-SNAPSHOT.jar --server.port=8081 java -jar springboot-01-1.0-SNAPSHOT.jar --server.port=8082 复制代码
  在启动成功之后,如下图所示,从Eureka信息面板可以看到名为HELLO-SERVICE的服务中出现了两个实例单元,分别是通过命令启动的8081端口和8082端口的服务.
  两个端口的服务2.新建Consumer
  创建一个SpringBoot的基础工程来实现消费服务者,取名为ribbon-consumer,并在pom中引入如下的依赖,新增了spring-cloud-starter-ribbon                      org.springframework.boot             spring-boot-starter-web                                org.springframework.boot             spring-boot-starter-test             test                               org.springframework.cloud             spring-cloud-starter-eureka-server                                org.springframework.cloud             spring-cloud-starter-ribbon               复制代码
  然后创建应用主类ConsumerApplication,通过@EnableDiscoveryClient注解让该应用注册为Eureka客户端应用,以获得服务发现的能力。同时,在该主类中创建RestTemplate的SpringBean实例,并通过@LoadBalanced注解开启客户端负载均衡。 @EnableDiscoveryClient @SpringBootApplication public class ConsumerApplication {      @Bean     @LoadBalanced     RestTemplate restTemplate(){         return new RestTemplate();     }      public static void main(String[] args) {         SpringApplication.run(ConsumerApplication.class,args);     } } 复制代码
  创建ConsumerController类并实现/ribbon-consumer接口。在该接口中,通过在上面创建的RestTemplate来实现对HELLO-SERVICE服务提供的/hello接口进行调用。可以看到在这里访问的地址是服务名HELLO-SERVICE,而不是一个具体的地址,在服务治理框架中,这是一个重要的特性。@RestController public class ConsumerController {      @Autowired     RestTemplate restTemplate;      @GetMapping("/ribbon-consumer")     public String helloConsumer(){         return restTemplate.getForEntity("http://HELLO-SERVICE/hello",String.class).getBody();     } } 复制代码
  在application.properties中配置Eureka服务注册中心的位置,需要与hello-service一样,不然是发现不了服务的。spring.application.name=ribbon-consumer server.port=9000  eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka 复制代码3.启动服务
  启动服务,然后在注册中心的面板中我们可以看到有两个服务。
  消费者服务
  然后在地址栏中输入 http://localhost:9000/ribbon-consumer发起get请求,成功返回了"Hello world",此时我们可以在ribbon-consumer应用的控制台中看到如下信息,Ribbon输出了当前客户端维护的HELLO-SERVICE的服务列表情况。其中包含了各个实例的位置,Ribbon就是按照此信息进行轮询访问,以实现基于客户端的负载均衡。DynamicServerListLoadBalancer for client HELLO - SERVICE initialized: DynamicServerListLoadBalancer: {     NFLoadBalancer: name = HELLO - SERVICE,     current list of Servers = [192.168 .31 .142: 8081, 192.168 .31 .142: 8082],     Load balancer stats = Zone stats: {         defaultzone = [Zone: defaultzone;Instance count: 2;Active connections count: 0;Circuit breaker tripped count: 0;Active connections per server: 0.0;]     },     Server stats: [         [Server: 192.168 .31 .142: 8081;Zone: defaultZone;Total Requests: 0;Successive connection failure: 0;Total blackout seconds: 0;Last connection made: Thu Jan 01 08: 00: 00 CST 1970;First connection made: Thu Jan 01 08: 00: 00 CST 1970;Active Connections: 0;total failure count in last(1000) msecs: 0;average resp time: 0.0;90 percentile resp time: 0.0;95 percentile resp time: 0.0;min resp time: 0.0;max resp time: 0.0;stddev resp time: 0.0],         [Server: 192.168 .31 .142: 8082;Zone: defaultZone;Total Requests: 0;Successive connection failure: 0;Total blackout seconds: 0;Last connection made: Thu Jan 01 08: 00: 00 CST 1970;First connection made: Thu Jan 01 08: 00: 00 CST 1970;Active Connections: 0;total failure count in last(1000) msecs: 0;average resp time: 0.0;90 percentile resp time: 0.0;95 percentile resp time: 0.0;min resp time: 0.0;max resp time: 0.0;stddev resp time: 0.0]     ] } ServerList: org.springframework.cloud.netflix.ribbon.eureka.DomainExtractingServerList @673b1fae 复制代码
  再尝试发送几次请求,并观察两个HELLO-SERVICE的控制台,可以看到两个控制台会交替打印下面的日志,可以用来判断当前的ribbon-consumer对HELLO-SERVICE的调用是否是负载均衡的。com.web.controller.HelloController  : /add, host:192.168.31.142, service_id:hello-service

多吃主食会减寿?中国人爱吃的白米饭,其实是最差的主食?有人说,多吃主食死得快,那反过来,不吃主食是不是会更长寿?老实说,你首先可能会面临这3个后果后果一口臭不吃主食等的低碳水饮食,脂肪代谢会产生不完全代谢物丙酮,出现口臭腹泻便秘腹痛等中国男篮冲击4强!换掉主教练杜锋,郭士强上任是好办法中国男篮冲击4强!换掉主教练杜锋,郭士强上任是好办法球迷都知道,虽然说杜锋在世界杯的比赛中,取得了2连胜的开门红,但是对于杜锋的执教能力来说,球迷仍是持怀疑态度,毕竟战胜了2个对手武磊回国后,西班牙人队慌了!急忙寻找中国球员补缺,仅一人达标日前,西班牙人俱乐部高层叶茂在接受媒体专访时,他表示俱乐部在武磊离开之后,依然在寻找合适的中国球员入队。这个消息引起了很多球迷热议,大家都希望能有中国球员征服西班牙人,再次登陆五大中国花滑协会主席申雪参加北舞开学典礼隋文静将访学一年新华社北京9月9日电(记者李嘉)中国花样滑冰协会主席申雪9日上午出席北京舞蹈学院2022年新生开学典礼暨庆祝教师节表彰大会,称赞北舞对中国花样滑冰发展的贡献,并期待可以与北舞深化合港独之父李柱铭曾跑路无门忙割席自保,奸罪恶岂能洗白随着政局变化,曾经港独的政客有不少试图跑路前往国外或割席自保,这其中就包括曾多次与美国联系的祸港四人帮之一港独之父李柱铭。尽管用尽各种手段,但他多年的汉奸行径,对香港社会造成的罪恶22,拜仁19岁天才火了上演大罗式过人破门,身价已达5850万拜仁慕尼黑与斯图加特的比赛,凭借2名00后天才的爆发,主场22冷平,联赛遭遇3连平。本场比赛,拜仁青训营的穆西亚拉表现活跃,他在比赛第60分钟帮助拜仁打进反超比分一球。并且这粒进球子宫移植,在道德与否之中前行一位女性15岁时被告知没有子宫,36岁时接受了一位61岁的女性亲属捐赠的子宫,顺利生了两个儿子。这位母亲说当我感觉到这个完美的男婴在我胸前时,我留下了幸福的泪水并得到巨大的解脱。子35岁家庭主妇的读书笔记(二)接着上一篇(一)继续聊下人生只有一件事这本书,书中提到,德国教育学家福禄培尔说教育之道,爱与榜样,除此无他。孩子上幼儿园的时候,学校召集家长,要求在家让孩子养成每天阅读的习惯,现场人类都是早产儿?十月怀胎都是被逼无奈,怀孕21个月才足月在自然界,许多动物生下来,只要短短几个小时就可以学会站立和奔跑。比如梅花鹿幼崽,在出生后的两小时就能站立,经过短期的学习,就可以奔跑。但人类婴儿出身的第一个技能就是哭,要想掌握独自输卵管造影做起来痛吗,做过的朋友能回答一下吗备孕快一年了还没有怀上,之前该检查的也差不多检查了,这两天去医院说做输卵管造影。不知道有没有做过的朋友可以说一下痛不痛,医生说不痛,说除非堵塞才痛,但是我不敢信。上次去做宫腔镜检查我的试管心得与流程第1篇我是2018年结婚,一直不孕,到处跑着去看病治疗,大医院也跑过几家,双方检查都没发现问题,可就是不怀。家里也是到处打听这方面的医生。一听说有好点的民间医生也会去跑很远拿药,这可能就
自林彪死后,毛主席再不上天安门,并对朱德说让老帅们常来看我1971年9月13日,林彪一家人乘坐三叉戟飞机,强行起飞,叛逃至蒙古温都尔汗大草原时,飞机坠毁。这一事件对毛主席的打击不可谓不大,事后毛主席大病了一场。患病中的毛主席,对近些年发生宁德师范学院2022年普通高考招生章程第一条依据中华人民共和国教育法中华人民共和国高等教育法和教育部福建省招委会福建省教育厅的有关规定,结合学校实际情况,制定本章程。第二条学校概况(一)学校全称宁德师范学院(国标代码1拜登中东组局应对俄罗斯,普京联手土伊全力破局,结果或截然相反据环球网报道,近期美国国外拉拢盟友制裁俄罗斯失败,国内也混乱不断,继美国最高法院推翻罗诉韦德案的裁决后,民众抗议之声不断,两党以此作为交锋点互相对抗此外,美国通胀不断加剧,达到40文章姚笛出轨门8年已过,如今三人境遇相差大,但没一个赢家2019年文章宣布与马伊琍离婚,同年姚笛宣布自己的已婚身份。离婚后的马伊琍事业一飞冲天,文章转向幕后,而姚笛的新婚丈夫却被曝出轨文章姚笛出轨事件8年已过现如今三人的现状正印证了那句基于e平台3。0,元PLUS指导价13。18如果说,新能源化高端化,是比亚迪近几年发展路线的主旋律,那么,元PLUS的发布,则是比亚迪夯实入门级市场的一个强力音符。今年2月,基于e平台3。0,元PLUS国内正式上市,指导价1山海关孟姜女庙前有一副对联,很多人不会读,郭沫若天下奇联对联是中国古代文学艺术的一种类型,以工整对仗,妙韵横生为佳,尽管对联的字数一般都没有严格的限制,但优秀的对联一般都以言简意赅,韵味隽永为上。这也就给各路文人雅客出了一个难题,如何在乾隆大清一年生多少人死多少人?刘墉按属相回生1人死12人人世间的生生死死,向来是最难把控的事情,每一天,这个世上都有无数的人死去,也有无数的新生命诞生,所以人们很难知道,每天死去和诞生的人的具体数量。为了了解国家的全面情况,现代的各国政霸屏春晚的5个东北人,一个消失一个失势,秘密全都在这里(下)写在前面本文是一整部东北笑星的崛起与衰落史,本章为下半部,讲整个东北笑星军团是如何一个接一个离开春晚舞台,东北喜剧是如何慢慢衰落的,以及赵本山黄宏这两位笑星在2014年遭遇的政治风史上竞争最激烈降幅却最小第七批国采温和降价背后的最狠一刀郑洁秘丛丛丨撰文王晨丨编辑在因上海疫情推迟几个月后,第七次集采易地而行,申报现场从上海转移到南京。7月12日早,绿树成荫的南京紫金山庄内,第七次药品大杀价在此拉开帷幕。这是四年集采小镇做题家你跟风了吗你真的理解小镇做题家吗?难道只是跟风舆论片面发表如下不当言论吗?一切源于中国新闻周刊发表的关于明星考编文章中所提及的小镇做题家,并不是正面的引用而是作为对比的反面举例,就像有的网友女子回家被雨衣男强行拖进房内细节披露事发经过7月6日18时许,战某某潜入姜某某住处楼梯拐角躲藏,伺机强行将母女二人拽至室内,战某某强行与姜某某发生性关系,并于事发后潜逃。7月11日,战某某被抓获归案。经核查,战某某为