springcloud和springboot是什么关系?
本文内容纲要:
【学习笔记】
4)springcloud和springboot是什么关系?
马克-to-win@马克java社区:springboot可以快速开发单个微服务。springcloud是一个基于springboot实现的一系列框架的集合,用来提供全局的服务治理方案。springcloud要基于springboot来实现,离不开springboot。
5)EurecaServer的工作原理:
马克-to-win@马克java社区:Eureka包含Server和Client两部分,从而实现微服务的注册与发现。EurekaServer目标是提供服务发现的能力。各个微服务启动时,会向EurekaServer注册自己的信息(例如端口、微服务名等),EurekaServer会存储这些信息。提供服务或消费微服务都是EurekaClient,通常都只是个springboot的jar项目。EurekaServer本身也是。微服务启动后,会周期性(默认30s)向EurekaServer发送心跳证明自己还活着。如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销这个实例(默认90s)。多个EurekaServer实例,互相复制,实现服务注册表数据同步,达到高可用,简单说,即一台机器坏了,另一台接替它,继续工作。用户体会不到你这机器坏了。EurekaClient会缓存服务注册表中的信息。这样就没必要总查询EurekaServer,即使EurekaServer都死掉,EurekaClient都能相互找到且完成任务。
6)为什么EurecaClient要分成服务提供者和服务消费者呢?
通常来讲,服务提供方是重量的耗时的,所以可能在n台机器上。而服务消费方是轻量的,通过配置ribbon和@LoadBalanced达到负载均衡的效果。消费方通过template.getForEntity("http://provider/acquire"。。。来找到服务提供方。消费方和提供方和EurekaServer三者协同,才能完美工作。如果Consumer没用EurekaServer这种技术,如何能用@LoadBalanced和ribbon这种负载均衡的功能呢?
1.EurecaServer的Helloworld例子:
做个普通的mavenproject,quickstartarchetype。改成jdk.8。下面Camden.SR1是版本名,springcloud的版本名称很奇特,它是按照伦敦地铁站的名称命名的。
马克-to-win@马克java社区:maven当中避免重复发明轮子的方法,一种是继承,一种是引用(参考我参考目录下的文章)。maven中配置引用关系的方法是,
pom.xml:
更多内容请见原文,版权保护本文转载自原文:
本文内容总结:
原文链接:https://www.cnblogs.com/haima1949/p/10774216.html