文章

微服务面试题

微服务面试题

微服务面试题

什么是微服务架构

微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个服务都在自己的进程中进行,并通过轻量级机制进行服务之间交互。这些服务基于业务能力构建的,可以通过全自动部署机制独立部署。通常情况下我们很少去集中化去管理这些服务,而且这些服务可以用不同的编程语言编写,并使用不同的数据存储技术

微服务的优缺点

优点

  1. 每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
  2. 微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
  3. 微服务能使用不同的语言开发。
  4. 微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
  5. 微服务只是业务逻辑的代码,不会和HTML、CSS或其他界面组件混合。

缺点

  1. 运维要求高,服务与机器变的更多,需要监控的应用变得很多,排查错误的难度更大
  2. 分布式的复杂性,链路变得更长
  3. 接口调整成本高

Spring Boot Starter的工作原理

Spring Boot在启动的时候会干这几件事情:

  1. Spring Boot在启动时会去依赖的Starter包中寻找resources/META-INF/spring.factories文件,然后根据文件中配置的Jar包去扫描项目所依赖的Jar包。
  2. 根据spring.factorise配置加载AutoConfigure类
  3. 根据@Conditional注解的条件,进行自动配置并将Bean注入Spring Context

总结一下,其实就是Spring Boot在启动的时候,按照约定去读取Spring Boot Starter的配置信息,再根据配置信息对资源进行初始化,并注入到Spring容器中。这样Spring Boot启动完毕后,就已经准备好了一切资源,使用过程中直接注入对应Bean资源即可。

Spring Boot的自动配置是如何实现的

Spring Boot项目的启动注解是:@SpringBootApplication,其实它就是由下面三个注解组成的:@Configuration@ComponentScan@EnableAutoConfiguration其中@EnableAutoConfiguration是实现自动配置的入口,该注解又通过@Import注解导入了AutoConfigurationImportSelector,在该类中加载META-INF/spring.factories的配置信息。然后筛选出以EnableAutoConfiguration为key的数据,加载到IOC容器中,实现自动配置功能

Eureka的服务注册与发现的原理

先描述概况和现状

Eureka是Spring Cloud家族产品最重要的组件之一,主要负责服务注册与发现。

Eureka的工作流程

Eureka包含两个组件:Eureka Server和Eureka Client。在Eureka Client启动的时候,将自身的服务的信息发送到Eureka Server,同时也会从Eureka Server下载服务注册信息保存到Eureka Client缓存中。当服务间相互调用其他服务时,在Eureka Client中获取服务信息(服务地址:ip+端口+uri)后,实现服务之间的交互。

详细描述Eureka几大核心功能

Register:服务注册

当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。

Renew:服务续约

Eureka Client会每隔30s发送一次心跳来续约。通过续约来告知Eureka Server该客户端仍然存在,没有出现问题。正常情况下,如果Eureka Server在90s(3次心跳)没有收到Eureka客户的续约,它会将实例从其注册表中删除。建议不要更改续约间隔。

Fetch Registries:获取注册表信息

Eureka客户端从服务器获取注册表信息,并将其缓存在本地。客户端会使用该信息查找其他服务,从而进行远程调用。该注册列表信息定期(没30s)更新一次。每次返回注册表的信息可能与客户端的缓存信息不同,Eureka客户端自动处理。如果由于某种原因导致注册表信息不能即使匹配,Eureka客户端会重新获取整个注册表信息。Eureka服务器缓存注册列表信息,整个注册表以及每个应用程序的信息进行了压缩,压缩内容和没有压缩的内容完全相同。Eureka客户端和服务端可以使用JSON/XML格式进行通讯。在默认情况下Eureka客户端使用压缩JSON格式来获取注册列表的信息。

Cancel:服务下线

Eureka客户端在程序关闭时向Eureka服务器发送取消请求。发送请求后,该客户端实例信息将从服务端的注册表中删除。该下线请求不会自动完成,它需要调用方法:DiscoveryManager.getInstance().shutdownComponent();

Eviction服务剔除

在默认情况下,当Eureka客户端连续90s没有向Eureka服务端发送服务续约,即心跳,Eureka服务端会将服务实例从服务注册列表删除,即服务剔除。

自保护模式

eureka协议要求客户端在永久离开时要显示执行注销操作。在提供的java客户机中,这时shutdown()方法中完成的。任何连续3次心跳更新失败的客户端都将被视为具有不干净的终止。并将被后台逐出进程逐出。当大于15%的当前注册表处于这种稍后状态时,将启用自我保护。

在自我保护模式下,eureka服务器将停止逐出所有实例,查到:

  1. 它看到的心跳信号更新次数重新高于预期阈值
  2. 自我保护被禁用

默认情况下启用自我保护,启用自我保护的默认阈值大于当前注册表大小的15%

如何禁用自我保护设置属性:eureka.enableSelfPreservation=false.

%23%23%20%E4%BB%80%E4%B9%88%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%0A%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E9%A3%8E%E6%A0%BC%E6%98%AF%E4%B8%80%E7%A7%8D%E5%B0%86%E5%8D%95%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91%E4%B8%BA%E4%B8%80%E7%BB%84%E5%B0%8F%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%96%B9%E6%B3%95%EF%BC%8C%E6%AF%8F%E4%B8%AA%E6%9C%8D%E5%8A%A1%E9%83%BD%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%E8%BF%9B%E8%A1%8C%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E8%BD%BB%E9%87%8F%E7%BA%A7%E6%9C%BA%E5%88%B6%E8%BF%9B%E8%A1%8C%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E4%BA%A4%E4%BA%92%E3%80%82%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%E5%9F%BA%E4%BA%8E%E4%B8%9A%E5%8A%A1%E8%83%BD%E5%8A%9B%E6%9E%84%E5%BB%BA%E7%9A%84%EF%BC%8C%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E5%85%A8%E8%87%AA%E5%8A%A8%E9%83%A8%E7%BD%B2%E6%9C%BA%E5%88%B6%E7%8B%AC%E7%AB%8B%E9%83%A8%E7%BD%B2%E3%80%82%E9%80%9A%E5%B8%B8%E6%83%85%E5%86%B5%E4%B8%8B%E6%88%91%E4%BB%AC%E5%BE%88%E5%B0%91%E5%8E%BB%E9%9B%86%E4%B8%AD%E5%8C%96%E5%8E%BB%E7%AE%A1%E7%90%86%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%EF%BC%8C%E8%80%8C%E4%B8%94%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%E5%8F%AF%E4%BB%A5%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E7%BC%96%E5%86%99%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E6%8A%80%E6%9C%AF%0A%0A%23%23%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9%0A%E4%BC%98%E7%82%B9%0A%0A1.%20%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E5%BE%88%E5%B0%8F%EF%BC%8C%E8%BF%99%E6%A0%B7%E8%83%BD%E8%81%9A%E7%84%A6%E4%B8%80%E4%B8%AA%E6%8C%87%E5%AE%9A%E7%9A%84%E4%B8%9A%E5%8A%A1%E5%8A%9F%E8%83%BD%E6%88%96%E4%B8%9A%E5%8A%A1%E9%9C%80%E6%B1%82%E3%80%82%0A2.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%98%AF%E6%9D%BE%E8%80%A6%E5%90%88%E7%9A%84%EF%BC%8C%E6%98%AF%E6%9C%89%E5%8A%9F%E8%83%BD%E6%84%8F%E4%B9%89%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8C%E6%97%A0%E8%AE%BA%E6%98%AF%E5%9C%A8%E5%BC%80%E5%8F%91%E9%98%B6%E6%AE%B5%E6%88%96%E9%83%A8%E7%BD%B2%E9%98%B6%E6%AE%B5%E9%83%BD%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%9A%84%E3%80%82%0A3.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%83%BD%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E8%AF%AD%E8%A8%80%E5%BC%80%E5%8F%91%E3%80%82%0A4.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%98%93%E4%BA%8E%E8%A2%AB%E4%B8%80%E4%B8%AA%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E7%90%86%E8%A7%A3%EF%BC%8C%E4%BF%AE%E6%94%B9%E5%92%8C%E7%BB%B4%E6%8A%A4%EF%BC%8C%E8%BF%99%E6%A0%B7%E5%B0%8F%E5%9B%A2%E9%98%9F%E8%83%BD%E5%A4%9F%E6%9B%B4%E5%85%B3%E6%B3%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%88%90%E6%9E%9C%E3%80%82%E6%97%A0%E9%9C%80%E9%80%9A%E8%BF%87%E5%90%88%E4%BD%9C%E6%89%8D%E8%83%BD%E4%BD%93%E7%8E%B0%E4%BB%B7%E5%80%BC%E3%80%82%0A5.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AA%E6%98%AF%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E7%9A%84%E4%BB%A3%E7%A0%81%EF%BC%8C%E4%B8%8D%E4%BC%9A%E5%92%8CHTML%E3%80%81CSS%E6%88%96%E5%85%B6%E4%BB%96%E7%95%8C%E9%9D%A2%E7%BB%84%E4%BB%B6%E6%B7%B7%E5%90%88%E3%80%82%0A%0A%E7%BC%BA%E7%82%B9%0A%0A1.%20%E8%BF%90%E7%BB%B4%E8%A6%81%E6%B1%82%E9%AB%98%EF%BC%8C%E6%9C%8D%E5%8A%A1%E4%B8%8E%E6%9C%BA%E5%99%A8%E5%8F%98%E7%9A%84%E6%9B%B4%E5%A4%9A%EF%BC%8C%E9%9C%80%E8%A6%81%E7%9B%91%E6%8E%A7%E7%9A%84%E5%BA%94%E7%94%A8%E5%8F%98%E5%BE%97%E5%BE%88%E5%A4%9A%EF%BC%8C%E6%8E%92%E6%9F%A5%E9%94%99%E8%AF%AF%E7%9A%84%E9%9A%BE%E5%BA%A6%E6%9B%B4%E5%A4%A7%0A2.%20%E5%88%86%E5%B8%83%E5%BC%8F%E7%9A%84%E5%A4%8D%E6%9D%82%E6%80%A7%EF%BC%8C%E9%93%BE%E8%B7%AF%E5%8F%98%E5%BE%97%E6%9B%B4%E9%95%BF%0A3.%20%E6%8E%A5%E5%8F%A3%E8%B0%83%E6%95%B4%E6%88%90%E6%9C%AC%E9%AB%98%0A%0A%23%23%20Spring%20Boot%20Starter%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%0ASpring%20Boot%E5%9C%A8%E5%90%AF%E5%8A%A8%E7%9A%84%E6%97%B6%E5%80%99%E4%BC%9A%E5%B9%B2%E8%BF%99%E5%87%A0%E4%BB%B6%E4%BA%8B%E6%83%85%EF%BC%9A%0A%0A1.%20Spring%20Boot%E5%9C%A8%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BC%9A%E5%8E%BB%E4%BE%9D%E8%B5%96%E7%9A%84Starter%E5%8C%85%E4%B8%AD%E5%AF%BB%E6%89%BEresources%2FMETA-INF%2Fspring.factories%E6%96%87%E4%BB%B6%EF%BC%8C%E7%84%B6%E5%90%8E%E6%A0%B9%E6%8D%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E9%85%8D%E7%BD%AE%E7%9A%84Jar%E5%8C%85%E5%8E%BB%E6%89%AB%E6%8F%8F%E9%A1%B9%E7%9B%AE%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84Jar%E5%8C%85%E3%80%82%0A2.%20%E6%A0%B9%E6%8D%AEspring.factorise%E9%85%8D%E7%BD%AE%E5%8A%A0%E8%BD%BDAutoConfigure%E7%B1%BB%0A3.%20%E6%A0%B9%E6%8D%AE%40Conditional%E6%B3%A8%E8%A7%A3%E7%9A%84%E6%9D%A1%E4%BB%B6%EF%BC%8C%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E5%B9%B6%E5%B0%86Bean%E6%B3%A8%E5%85%A5Spring%20Context%0A%0A%E6%80%BB%E7%BB%93%E4%B8%80%E4%B8%8B%EF%BC%8C%E5%85%B6%E5%AE%9E%E5%B0%B1%E6%98%AFSpring%20Boot%E5%9C%A8%E5%90%AF%E5%8A%A8%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E6%8C%89%E7%85%A7%E7%BA%A6%E5%AE%9A%E5%8E%BB%E8%AF%BB%E5%8F%96Spring%20Boot%20Starter%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%86%8D%E6%A0%B9%E6%8D%AE%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%E5%AF%B9%E8%B5%84%E6%BA%90%E8%BF%9B%E8%A1%8C%E5%88%9D%E5%A7%8B%E5%8C%96%EF%BC%8C%E5%B9%B6%E6%B3%A8%E5%85%A5%E5%88%B0Spring%E5%AE%B9%E5%99%A8%E4%B8%AD%E3%80%82%E8%BF%99%E6%A0%B7Spring%20Boot%E5%90%AF%E5%8A%A8%E5%AE%8C%E6%AF%95%E5%90%8E%EF%BC%8C%E5%B0%B1%E5%B7%B2%E7%BB%8F%E5%87%86%E5%A4%87%E5%A5%BD%E4%BA%86%E4%B8%80%E5%88%87%E8%B5%84%E6%BA%90%EF%BC%8C%E4%BD%BF%E7%94%A8%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9B%B4%E6%8E%A5%E6%B3%A8%E5%85%A5%E5%AF%B9%E5%BA%94Bean%E8%B5%84%E6%BA%90%E5%8D%B3%E5%8F%AF%E3%80%82%0A%0A%23%23%20Spring%20Boot%E7%9A%84%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E6%98%AF%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E7%9A%84%0ASpring%20Boot%E9%A1%B9%E7%9B%AE%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B3%A8%E8%A7%A3%E6%98%AF%EF%BC%9A%40SpringBootApplication%EF%BC%8C%E5%85%B6%E5%AE%9E%E5%AE%83%E5%B0%B1%E6%98%AF%E7%94%B1%E4%B8%8B%E9%9D%A2%E4%B8%89%E4%B8%AA%E6%B3%A8%E8%A7%A3%E7%BB%84%E6%88%90%E7%9A%84%EF%BC%9A%0A%40Configuration%0A%40ComponentScan%0A%40EnableAutoConfiguration%0A%E5%85%B6%E4%B8%AD%40EnableAutoConfiguration%E6%98%AF%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E7%9A%84%E5%85%A5%E5%8F%A3%EF%BC%8C%E8%AF%A5%E6%B3%A8%E8%A7%A3%E5%8F%88%E9%80%9A%E8%BF%87%40Import%E6%B3%A8%E8%A7%A3%E5%AF%BC%E5%85%A5%E4%BA%86AutoConfigurationImportSelector%EF%BC%8C%E5%9C%A8%E8%AF%A5%E7%B1%BB%E4%B8%AD%E5%8A%A0%E8%BD%BDMETA-INF%2Fspring.factories%E7%9A%84%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%E3%80%82%E7%84%B6%E5%90%8E%E7%AD%9B%E9%80%89%E5%87%BA%E4%BB%A5EnableAutoConfiguration%E4%B8%BAkey%E7%9A%84%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%8A%A0%E8%BD%BD%E5%88%B0IOC%E5%AE%B9%E5%99%A8%E4%B8%AD%EF%BC%8C%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E5%8A%9F%E8%83%BD%0A%0A%23%23%20Eureka%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%8E%E5%8F%91%E7%8E%B0%E7%9A%84%E5%8E%9F%E7%90%86%0A%E5%85%88%E6%8F%8F%E8%BF%B0%E6%A6%82%E5%86%B5%E5%92%8C%E7%8E%B0%E7%8A%B6%0AEureka%E6%98%AFSpring%20Cloud%E5%AE%B6%E6%97%8F%E4%BA%A7%E5%93%81%E6%9C%80%E9%87%8D%E8%A6%81%E7%9A%84%E7%BB%84%E4%BB%B6%E4%B9%8B%E4%B8%80%EF%BC%8C%E4%B8%BB%E8%A6%81%E8%B4%9F%E8%B4%A3%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%8E%E5%8F%91%E7%8E%B0%E3%80%82%0A%0AEureka%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B%0AEureka%E5%8C%85%E5%90%AB%E4%B8%A4%E4%B8%AA%E7%BB%84%E4%BB%B6%EF%BC%9AEureka%20Server%E5%92%8CEureka%20Client%E3%80%82%E5%9C%A8Eureka%20Client%E5%90%AF%E5%8A%A8%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E5%B0%86%E8%87%AA%E8%BA%AB%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%9A%84%E4%BF%A1%E6%81%AF%E5%8F%91%E9%80%81%E5%88%B0Eureka%20Server%EF%BC%8C%E5%90%8C%E6%97%B6%E4%B9%9F%E4%BC%9A%E4%BB%8EEureka%20Server%E4%B8%8B%E8%BD%BD%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%BF%A1%E6%81%AF%E4%BF%9D%E5%AD%98%E5%88%B0Eureka%20Client%E7%BC%93%E5%AD%98%E4%B8%AD%E3%80%82%E5%BD%93%E6%9C%8D%E5%8A%A1%E9%97%B4%E7%9B%B8%E4%BA%92%E8%B0%83%E7%94%A8%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%E6%97%B6%EF%BC%8C%E5%9C%A8Eureka%20Client%E4%B8%AD%E8%8E%B7%E5%8F%96%E6%9C%8D%E5%8A%A1%E4%BF%A1%E6%81%AF%EF%BC%88%E6%9C%8D%E5%8A%A1%E5%9C%B0%E5%9D%80%EF%BC%9Aip%2B%E7%AB%AF%E5%8F%A3%2Buri%EF%BC%89%E5%90%8E%EF%BC%8C%E5%AE%9E%E7%8E%B0%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E7%9A%84%E4%BA%A4%E4%BA%92%E3%80%82%0A%0A%E8%AF%A6%E7%BB%86%E6%8F%8F%E8%BF%B0Eureka%E5%87%A0%E5%A4%A7%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD%0ARegister%EF%BC%9A%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%0A%E5%BD%93Eureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%90%91Eureka%20Server%E6%B3%A8%E5%86%8C%E6%97%B6%EF%BC%8C%E5%AE%83%E6%8F%90%E4%BE%9B%E8%87%AA%E8%BA%AB%E7%9A%84%E5%85%83%E6%95%B0%E6%8D%AE%EF%BC%8C%E6%AF%94%E5%A6%82IP%E5%9C%B0%E5%9D%80%E3%80%81%E7%AB%AF%E5%8F%A3%EF%BC%8C%E8%BF%90%E8%A1%8C%E7%8A%B6%E5%86%B5%E6%8C%87%E7%A4%BA%E7%AC%A6URL%EF%BC%8C%E4%B8%BB%E9%A1%B5%E7%AD%89%E3%80%82%0A%0ARenew%EF%BC%9A%E6%9C%8D%E5%8A%A1%E7%BB%AD%E7%BA%A6%0AEureka%20Client%E4%BC%9A%E6%AF%8F%E9%9A%9430s%E5%8F%91%E9%80%81%E4%B8%80%E6%AC%A1%E5%BF%83%E8%B7%B3%E6%9D%A5%E7%BB%AD%E7%BA%A6%E3%80%82%E9%80%9A%E8%BF%87%E7%BB%AD%E7%BA%A6%E6%9D%A5%E5%91%8A%E7%9F%A5Eureka%20Server%E8%AF%A5%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%B2%A1%E6%9C%89%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%E3%80%82%E6%AD%A3%E5%B8%B8%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E5%A6%82%E6%9E%9CEureka%20Server%E5%9C%A890s%EF%BC%883%E6%AC%A1%E5%BF%83%E8%B7%B3%EF%BC%89%E6%B2%A1%E6%9C%89%E6%94%B6%E5%88%B0Eureka%E5%AE%A2%E6%88%B7%E7%9A%84%E7%BB%AD%E7%BA%A6%EF%BC%8C%E5%AE%83%E4%BC%9A%E5%B0%86%E5%AE%9E%E4%BE%8B%E4%BB%8E%E5%85%B6%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%AD%E5%88%A0%E9%99%A4%E3%80%82%E5%BB%BA%E8%AE%AE%E4%B8%8D%E8%A6%81%E6%9B%B4%E6%94%B9%E7%BB%AD%E7%BA%A6%E9%97%B4%E9%9A%94%E3%80%82%0A%0AFetch%20Registries%EF%BC%9A%E8%8E%B7%E5%8F%96%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BF%A1%E6%81%AF%0AEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%8E%B7%E5%8F%96%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BF%A1%E6%81%AF%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E7%BC%93%E5%AD%98%E5%9C%A8%E6%9C%AC%E5%9C%B0%E3%80%82%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BC%9A%E4%BD%BF%E7%94%A8%E8%AF%A5%E4%BF%A1%E6%81%AF%E6%9F%A5%E6%89%BE%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%BB%8E%E8%80%8C%E8%BF%9B%E8%A1%8C%E8%BF%9C%E7%A8%8B%E8%B0%83%E7%94%A8%E3%80%82%E8%AF%A5%E6%B3%A8%E5%86%8C%E5%88%97%E8%A1%A8%E4%BF%A1%E6%81%AF%E5%AE%9A%E6%9C%9F%EF%BC%88%E6%B2%A130s%EF%BC%89%E6%9B%B4%E6%96%B0%E4%B8%80%E6%AC%A1%E3%80%82%0A%E6%AF%8F%E6%AC%A1%E8%BF%94%E5%9B%9E%E6%B3%A8%E5%86%8C%E8%A1%A8%E7%9A%84%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%83%BD%E4%B8%8E%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E7%BC%93%E5%AD%98%E4%BF%A1%E6%81%AF%E4%B8%8D%E5%90%8C%EF%BC%8CEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%87%AA%E5%8A%A8%E5%A4%84%E7%90%86%E3%80%82%E5%A6%82%E6%9E%9C%E7%94%B1%E4%BA%8E%E6%9F%90%E7%A7%8D%E5%8E%9F%E5%9B%A0%E5%AF%BC%E8%87%B4%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BF%A1%E6%81%AF%E4%B8%8D%E8%83%BD%E5%8D%B3%E4%BD%BF%E5%8C%B9%E9%85%8D%EF%BC%8CEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BC%9A%E9%87%8D%E6%96%B0%E8%8E%B7%E5%8F%96%E6%95%B4%E4%B8%AA%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BF%A1%E6%81%AF%E3%80%82Eureka%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BC%93%E5%AD%98%E6%B3%A8%E5%86%8C%E5%88%97%E8%A1%A8%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%95%B4%E4%B8%AA%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BB%A5%E5%8F%8A%E6%AF%8F%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E4%BF%A1%E6%81%AF%E8%BF%9B%E8%A1%8C%E4%BA%86%E5%8E%8B%E7%BC%A9%EF%BC%8C%E5%8E%8B%E7%BC%A9%E5%86%85%E5%AE%B9%E5%92%8C%E6%B2%A1%E6%9C%89%E5%8E%8B%E7%BC%A9%E7%9A%84%E5%86%85%E5%AE%B9%E5%AE%8C%E5%85%A8%E7%9B%B8%E5%90%8C%E3%80%82%0AEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%92%8C%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8JSON%2FXML%E6%A0%BC%E5%BC%8F%E8%BF%9B%E8%A1%8C%E9%80%9A%E8%AE%AF%E3%80%82%E5%9C%A8%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8BEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E5%8E%8B%E7%BC%A9JSON%E6%A0%BC%E5%BC%8F%E6%9D%A5%E8%8E%B7%E5%8F%96%E6%B3%A8%E5%86%8C%E5%88%97%E8%A1%A8%E7%9A%84%E4%BF%A1%E6%81%AF%E3%80%82%0A%0ACancel%EF%BC%9A%E6%9C%8D%E5%8A%A1%E4%B8%8B%E7%BA%BF%0AEureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9C%A8%E7%A8%8B%E5%BA%8F%E5%85%B3%E9%97%AD%E6%97%B6%E5%90%91Eureka%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%91%E9%80%81%E5%8F%96%E6%B6%88%E8%AF%B7%E6%B1%82%E3%80%82%E5%8F%91%E9%80%81%E8%AF%B7%E6%B1%82%E5%90%8E%EF%BC%8C%E8%AF%A5%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%AE%9E%E4%BE%8B%E4%BF%A1%E6%81%AF%E5%B0%86%E4%BB%8E%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%9A%84%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%AD%E5%88%A0%E9%99%A4%E3%80%82%E8%AF%A5%E4%B8%8B%E7%BA%BF%E8%AF%B7%E6%B1%82%E4%B8%8D%E4%BC%9A%E8%87%AA%E5%8A%A8%E5%AE%8C%E6%88%90%EF%BC%8C%E5%AE%83%E9%9C%80%E8%A6%81%E8%B0%83%E7%94%A8%E6%96%B9%E6%B3%95%EF%BC%9A%0ADiscoveryManager.getInstance().shutdownComponent()%3B%0A%0AEviction%E6%9C%8D%E5%8A%A1%E5%89%94%E9%99%A4%0A%E5%9C%A8%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E5%BD%93Eureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%9E%E7%BB%AD90s%E6%B2%A1%E6%9C%89%E5%90%91Eureka%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%8F%91%E9%80%81%E6%9C%8D%E5%8A%A1%E7%BB%AD%E7%BA%A6%EF%BC%8C%E5%8D%B3%E5%BF%83%E8%B7%B3%EF%BC%8CEureka%E6%9C%8D%E5%8A%A1%E7%AB%AF%E4%BC%9A%E5%B0%86%E6%9C%8D%E5%8A%A1%E5%AE%9E%E4%BE%8B%E4%BB%8E%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%88%97%E8%A1%A8%E5%88%A0%E9%99%A4%EF%BC%8C%E5%8D%B3%E6%9C%8D%E5%8A%A1%E5%89%94%E9%99%A4%E3%80%82%0A%0A%E8%87%AA%E4%BF%9D%E6%8A%A4%E6%A8%A1%E5%BC%8F%0A%0Aeureka%E5%8D%8F%E8%AE%AE%E8%A6%81%E6%B1%82%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9C%A8%E6%B0%B8%E4%B9%85%E7%A6%BB%E5%BC%80%E6%97%B6%E8%A6%81%E6%98%BE%E7%A4%BA%E6%89%A7%E8%A1%8C%E6%B3%A8%E9%94%80%E6%93%8D%E4%BD%9C%E3%80%82%0A%E5%9C%A8%E6%8F%90%E4%BE%9B%E7%9A%84java%E5%AE%A2%E6%88%B7%E6%9C%BA%E4%B8%AD%EF%BC%8C%E8%BF%99%E6%97%B6shutdown()%E6%96%B9%E6%B3%95%E4%B8%AD%E5%AE%8C%E6%88%90%E7%9A%84%E3%80%82%E4%BB%BB%E4%BD%95%E8%BF%9E%E7%BB%AD3%E6%AC%A1%E5%BF%83%E8%B7%B3%E6%9B%B4%E6%96%B0%E5%A4%B1%E8%B4%A5%E7%9A%84%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%83%BD%E5%B0%86%E8%A2%AB%E8%A7%86%E4%B8%BA%E5%85%B7%E6%9C%89%E4%B8%8D%E5%B9%B2%E5%87%80%E7%9A%84%E7%BB%88%E6%AD%A2%E3%80%82%E5%B9%B6%E5%B0%86%E8%A2%AB%E5%90%8E%E5%8F%B0%E9%80%90%E5%87%BA%E8%BF%9B%E7%A8%8B%E9%80%90%E5%87%BA%E3%80%82%E5%BD%93%E5%A4%A7%E4%BA%8E15%25%E7%9A%84%E5%BD%93%E5%89%8D%E6%B3%A8%E5%86%8C%E8%A1%A8%E5%A4%84%E4%BA%8E%E8%BF%99%E7%A7%8D%E7%A8%8D%E5%90%8E%E7%8A%B6%E6%80%81%E6%97%B6%EF%BC%8C%E5%B0%86%E5%90%AF%E7%94%A8%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%E3%80%82%0A%0A%E5%9C%A8%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%E6%A8%A1%E5%BC%8F%E4%B8%8B%EF%BC%8Ceureka%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%B0%86%E5%81%9C%E6%AD%A2%E9%80%90%E5%87%BA%E6%89%80%E6%9C%89%E5%AE%9E%E4%BE%8B%EF%BC%8C%E6%9F%A5%E5%88%B0%EF%BC%9A%0A1.%20%E5%AE%83%E7%9C%8B%E5%88%B0%E7%9A%84%E5%BF%83%E8%B7%B3%E4%BF%A1%E5%8F%B7%E6%9B%B4%E6%96%B0%E6%AC%A1%E6%95%B0%E9%87%8D%E6%96%B0%E9%AB%98%E4%BA%8E%E9%A2%84%E6%9C%9F%E9%98%88%E5%80%BC%0A2.%20%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%E8%A2%AB%E7%A6%81%E7%94%A8%0A%0A%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E5%90%AF%E7%94%A8%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%EF%BC%8C%E5%90%AF%E7%94%A8%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%E7%9A%84%E9%BB%98%E8%AE%A4%E9%98%88%E5%80%BC%E5%A4%A7%E4%BA%8E%E5%BD%93%E5%89%8D%E6%B3%A8%E5%86%8C%E8%A1%A8%E5%A4%A7%E5%B0%8F%E7%9A%8415%25%0A%0A%E5%A6%82%E4%BD%95%E7%A6%81%E7%94%A8%E8%87%AA%E6%88%91%E4%BF%9D%E6%8A%A4%0A%E8%AE%BE%E7%BD%AE%E5%B1%9E%E6%80%A7%EF%BC%9Aeureka.enableSelfPreservation%3Dfalse.%0A%0A%0A%0A%0A

并入整理

以下内容由同主题重复文章合并而来,便于集中复习。

Spring Cloud 面试题

第一个版本的 Spring Cloud 面试题,主要把整个文章的大体结构定了,后续在慢慢完善补充~如下是 Eureka + Ribbon + Feign + Hystrix + Zuul 整合后的图:

Eureka + Ribbon + Feign + Hystrix + Zuul

什么是 Spring Cloud ?


什么是 Spring Cloud ?

什么是 Spring Cloud ?

  • 什么是 Spring Cloud ?
    • Spring Cloud 核心功能是什么?
    • Spring Cloud 有哪些组件?
    • Spring Cloud 和 Spring Boot 的区别和关系?
    • Spring Cloud 和 Dubbo 的区别?

Spring Cloud 是构建在 Spring Boot 基础之上,用于快速构建分布式系统的通用模式的工具集。或者说,换成大家更为熟知的,用于构建微服务的技术栈。

Spring Cloud 核心功能是什么?

毫无疑问,Spring Cloud 可以说是目前微服务架构的最好的选择,涵盖了基本我们需要的所有组件,所以也被称为全家桶。Spring Cloud 主要提供了如下核心的功能:

  • Distributed/versioned configuration 分布式/版本化的配置管理
  • Service registration and discovery 服务注册与服务发现
  • Routing 路由
  • Service-to-service calls 端到端的调用
  • Load balancing 负载均衡
  • Circuit Breakers 断路器
  • Global locks 全局锁
  • Leadership election and cluster state 选举与集群状态管理
  • Distributed messaging 分布式消息

Spring Cloud 有哪些组件?

Spring Cloud的 组件相当繁杂,拥有诸多子项目。如下脑图所示:

Spring Cloud的 组件

我们最为熟知的,可能就是 Spring Cloud Netflix ,它是 Netflix 公司基于它们自己的 Eureka、Hystrix、Zuul、Ribbon 等组件,构建的一个 Spring Cloud 实现技术栈。

当然,可能关心 Spring Cloud 体系的胖友,已经知道 Spring Cloud Netflix 要进入维护模式,可能会略感担心。实际上,目前已经开始有新的基于 Spring Cloud 实现,可以作为新的选择。如下表格:

《Spring Cloud Netflix 项目进入维护模式》 ,感兴趣的胖友,可以看看新闻。

 Netflix阿里其它
注册中心EurekaNacosZookeeper、Consul、Etcd
熔断器HystrixSentinelResilience4j
网关Zuul1暂无Spring Cloud Gateway
负载均衡RibbonDubbo(未来)spring-cloud-loadbalancer

其它组件,例如配置中心、链路追踪、服务引用等等,都有相应其它的实现。妥妥的~

Spring Cloud 和 Spring Boot 的区别和关系?

  1. Spring Boot 专注于快速方便的开发单个个体微服务。
  2. Spring Cloud 是关注全局的微服务协调整理治理框架以及一整套的落地解决方案,它将 Spring Boot 开发的一个个单体微服务整合并管理起来,为各个微服务之间提供:配置管理,服务发现,断路器,路由,微代理,事件总线等的集成服务。
  3. Spring Boot 可以离开 Spring Cloud 独立使用,但是 Spring Cloud 离不开 Spring Boot ,属于依赖的关系。

总结

  • Spring Boot ,专注于快速,方便的开发单个微服务个体。
  • Spring Cloud ,关注全局的服务治理框架。

Spring Cloud 和 Dubbo 的区别?

参见 《精尽 Dubbo 面试题》 文章的 「Spring Cloud 与 Dubbo 怎么选择?」 问题的解答。

%23%20%E4%BB%80%E4%B9%88%E6%98%AF%20Spring%20Cloud%20%EF%BC%9F%0A%5BTOC%5D%0A%0ASpring%20Cloud%20%E6%98%AF%E6%9E%84%E5%BB%BA%E5%9C%A8%20Spring%20Boot%20%E5%9F%BA%E7%A1%80%E4%B9%8B%E4%B8%8A%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%BF%AB%E9%80%9F%E6%9E%84%E5%BB%BA%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%80%9A%E7%94%A8%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%B7%A5%E5%85%B7%E9%9B%86%E3%80%82%E6%88%96%E8%80%85%E8%AF%B4%EF%BC%8C%E6%8D%A2%E6%88%90%E5%A4%A7%E5%AE%B6%E6%9B%B4%E4%B8%BA%E7%86%9F%E7%9F%A5%E7%9A%84%EF%BC%8C%E7%94%A8%E4%BA%8E%E6%9E%84%E5%BB%BA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%8A%80%E6%9C%AF%E6%A0%88%E3%80%82%0A%0A%23%23%20Spring%20Cloud%20%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%0A%E6%AF%AB%E6%97%A0%E7%96%91%E9%97%AE%EF%BC%8CSpring%20Cloud%20%E5%8F%AF%E4%BB%A5%E8%AF%B4%E6%98%AF%E7%9B%AE%E5%89%8D%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E7%9A%84%E6%9C%80%E5%A5%BD%E7%9A%84%E9%80%89%E6%8B%A9%EF%BC%8C%E6%B6%B5%E7%9B%96%E4%BA%86%E5%9F%BA%E6%9C%AC%E6%88%91%E4%BB%AC%E9%9C%80%E8%A6%81%E7%9A%84%E6%89%80%E6%9C%89%E7%BB%84%E4%BB%B6%EF%BC%8C%E6%89%80%E4%BB%A5%E4%B9%9F%E8%A2%AB%E7%A7%B0%E4%B8%BA%E5%85%A8%E5%AE%B6%E6%A1%B6%E3%80%82Spring%20Cloud%20%E4%B8%BB%E8%A6%81%E6%8F%90%E4%BE%9B%E4%BA%86%E5%A6%82%E4%B8%8B%E6%A0%B8%E5%BF%83%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%9A%0A%0A%20Distributed%2Fversioned%20configuration%20%E5%88%86%E5%B8%83%E5%BC%8F%2F%E7%89%88%E6%9C%AC%E5%8C%96%E7%9A%84%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%0A%20Service%20registration%20and%20discovery%20%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%8E%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%0A%20Routing%20%E8%B7%AF%E7%94%B1%0A%20Service-to-service%20calls%20%E7%AB%AF%E5%88%B0%E7%AB%AF%E7%9A%84%E8%B0%83%E7%94%A8%0A%20Load%20balancing%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%0A%20Circuit%20Breakers%20%E6%96%AD%E8%B7%AF%E5%99%A8%0A%20Global%20locks%20%E5%85%A8%E5%B1%80%E9%94%81%0A%20Leadership%20election%20and%20cluster%20state%20%E9%80%89%E4%B8%BE%E4%B8%8E%E9%9B%86%E7%BE%A4%E7%8A%B6%E6%80%81%E7%AE%A1%E7%90%86%0A%20Distributed%20messaging%20%E5%88%86%E5%B8%83%E5%BC%8F%E6%B6%88%E6%81%AF%0A%0A%23%23%20Spring%20Cloud%20%E6%9C%89%E5%93%AA%E4%BA%9B%E7%BB%84%E4%BB%B6%EF%BC%9F%0ASpring%20Cloud%E7%9A%84%20%E7%BB%84%E4%BB%B6%E7%9B%B8%E5%BD%93%E7%B9%81%E6%9D%82%EF%BC%8C%E6%8B%A5%E6%9C%89%E8%AF%B8%E5%A4%9A%E5%AD%90%E9%A1%B9%E7%9B%AE%E3%80%82%E5%A6%82%E4%B8%8B%E8%84%91%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A%0A!%5B34216b7c4395db15b96eec623b8dc989.png%5D(en-resource%3A%2F%2Fdatabase%2F5578%3A1)%0A%0ASpring%20Cloud%E7%9A%84%20%E7%BB%84%E4%BB%B6%0A%0A%E6%88%91%E4%BB%AC%E6%9C%80%E4%B8%BA%E7%86%9F%E7%9F%A5%E7%9A%84%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%B0%B1%E6%98%AF%20Spring%20Cloud%20Netflix%20%EF%BC%8C%E5%AE%83%E6%98%AF%20Netflix%20%E5%85%AC%E5%8F%B8%E5%9F%BA%E4%BA%8E%E5%AE%83%E4%BB%AC%E8%87%AA%E5%B7%B1%E7%9A%84%20Eureka%E3%80%81Hystrix%E3%80%81Zuul%E3%80%81Ribbon%20%E7%AD%89%E7%BB%84%E4%BB%B6%EF%BC%8C%E6%9E%84%E5%BB%BA%E7%9A%84%E4%B8%80%E4%B8%AA%20Spring%20Cloud%20%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF%E6%A0%88%E3%80%82%0A%0A%E5%BD%93%E7%84%B6%EF%BC%8C%E5%8F%AF%E8%83%BD%E5%85%B3%E5%BF%83%20Spring%20Cloud%20%E4%BD%93%E7%B3%BB%E7%9A%84%E8%83%96%E5%8F%8B%EF%BC%8C%E5%B7%B2%E7%BB%8F%E7%9F%A5%E9%81%93%20Spring%20Cloud%20Netflix%20%E8%A6%81%E8%BF%9B%E5%85%A5%E7%BB%B4%E6%8A%A4%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%8F%AF%E8%83%BD%E4%BC%9A%E7%95%A5%E6%84%9F%E6%8B%85%E5%BF%83%E3%80%82%E5%AE%9E%E9%99%85%E4%B8%8A%EF%BC%8C%E7%9B%AE%E5%89%8D%E5%B7%B2%E7%BB%8F%E5%BC%80%E5%A7%8B%E6%9C%89%E6%96%B0%E7%9A%84%E5%9F%BA%E4%BA%8E%20Spring%20Cloud%20%E5%AE%9E%E7%8E%B0%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BD%9C%E4%B8%BA%E6%96%B0%E7%9A%84%E9%80%89%E6%8B%A9%E3%80%82%E5%A6%82%E4%B8%8B%E8%A1%A8%E6%A0%BC%EF%BC%9A%0A%0A%3E%20%E3%80%8ASpring%20Cloud%20Netflix%20%E9%A1%B9%E7%9B%AE%E8%BF%9B%E5%85%A5%E7%BB%B4%E6%8A%A4%E6%A8%A1%E5%BC%8F%E3%80%8B%20%EF%BC%8C%E6%84%9F%E5%85%B4%E8%B6%A3%E7%9A%84%E8%83%96%E5%8F%8B%EF%BC%8C%E5%8F%AF%E4%BB%A5%E7%9C%8B%E7%9C%8B%E6%96%B0%E9%97%BB%E3%80%82%0A%0A%0A%7C%20%20%7C%20Netflix%20%7C%20%E9%98%BF%E9%87%8C%20%7C%20%E5%85%B6%E5%AE%83%20%7C%0A%7C%20—%20%7C%20—%20%7C%20—%20%7C%20—%20%7C%0A%7C%20%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%20%7C%20Eureka%20%7C%20Nacos%20%7C%20Zookeeper%E3%80%81Consul%E3%80%81Etcd%20%7C%0A%7C%20%E7%86%94%E6%96%AD%E5%99%A8%20%7C%20Hystrix%20%7C%20Sentinel%20%7C%20Resilience4j%20%7C%0A%7C%20%E7%BD%91%E5%85%B3%20%7C%20Zuul1%20%7C%20%E6%9A%82%E6%97%A0%20%7C%20Spring%20Cloud%20Gateway%20%7C%0A%7C%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%20%7C%20Ribbon%20%7C%20Dubbo(%E6%9C%AA%E6%9D%A5)%20%7C%20spring-cloud-loadbalancer%20%7C%0A%0A%0A%E5%85%B6%E5%AE%83%E7%BB%84%E4%BB%B6%EF%BC%8C%E4%BE%8B%E5%A6%82%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E3%80%81%E9%93%BE%E8%B7%AF%E8%BF%BD%E8%B8%AA%E3%80%81%E6%9C%8D%E5%8A%A1%E5%BC%95%E7%94%A8%E7%AD%89%E7%AD%89%EF%BC%8C%E9%83%BD%E6%9C%89%E7%9B%B8%E5%BA%94%E5%85%B6%E5%AE%83%E7%9A%84%E5%AE%9E%E7%8E%B0%E3%80%82%E5%A6%A5%E5%A6%A5%E7%9A%84~%0A%0A%23%23%20Spring%20Cloud%20%E5%92%8C%20Spring%20Boot%20%E7%9A%84%E5%8C%BA%E5%88%AB%E5%92%8C%E5%85%B3%E7%B3%BB%EF%BC%9F%0A%0A1.%20Spring%20Boot%20%E4%B8%93%E6%B3%A8%E4%BA%8E%E5%BF%AB%E9%80%9F%E6%96%B9%E4%BE%BF%E7%9A%84%E5%BC%80%E5%8F%91%E5%8D%95%E4%B8%AA%E4%B8%AA%E4%BD%93%E5%BE%AE%E6%9C%8D%E5%8A%A1%E3%80%82%0A2.%20Spring%20Cloud%20%E6%98%AF%E5%85%B3%E6%B3%A8%E5%85%A8%E5%B1%80%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8D%8F%E8%B0%83%E6%95%B4%E7%90%86%E6%B2%BB%E7%90%86%E6%A1%86%E6%9E%B6%E4%BB%A5%E5%8F%8A%E4%B8%80%E6%95%B4%E5%A5%97%E7%9A%84%E8%90%BD%E5%9C%B0%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%EF%BC%8C%E5%AE%83%E5%B0%86%20Spring%20Boot%20%E5%BC%80%E5%8F%91%E7%9A%84%E4%B8%80%E4%B8%AA%E4%B8%AA%E5%8D%95%E4%BD%93%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%95%B4%E5%90%88%E5%B9%B6%E7%AE%A1%E7%90%86%E8%B5%B7%E6%9D%A5%EF%BC%8C%E4%B8%BA%E5%90%84%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E6%8F%90%E4%BE%9B%EF%BC%9A%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%EF%BC%8C%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%EF%BC%8C%E6%96%AD%E8%B7%AF%E5%99%A8%EF%BC%8C%E8%B7%AF%E7%94%B1%EF%BC%8C%E5%BE%AE%E4%BB%A3%E7%90%86%EF%BC%8C%E4%BA%8B%E4%BB%B6%E6%80%BB%E7%BA%BF%E7%AD%89%E7%9A%84%E9%9B%86%E6%88%90%E6%9C%8D%E5%8A%A1%E3%80%82%0A3.%20Spring%20Boot%20%E5%8F%AF%E4%BB%A5%E7%A6%BB%E5%BC%80%20Spring%20Cloud%20%E7%8B%AC%E7%AB%8B%E4%BD%BF%E7%94%A8%EF%BC%8C%E4%BD%86%E6%98%AF%20Spring%20Cloud%20%E7%A6%BB%E4%B8%8D%E5%BC%80%20Spring%20Boot%20%EF%BC%8C%E5%B1%9E%E4%BA%8E%E4%BE%9D%E8%B5%96%E7%9A%84%E5%85%B3%E7%B3%BB%E3%80%82%0A%0A%E6%80%BB%E7%BB%93%EF%BC%9A%0A%0A%20Spring%20Boot%20%EF%BC%8C%E4%B8%93%E6%B3%A8%E4%BA%8E%E5%BF%AB%E9%80%9F%EF%BC%8C%E6%96%B9%E4%BE%BF%E7%9A%84%E5%BC%80%E5%8F%91%E5%8D%95%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%AA%E4%BD%93%E3%80%82%0A*%20Spring%20Cloud%20%EF%BC%8C%E5%85%B3%E6%B3%A8%E5%85%A8%E5%B1%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%B2%BB%E7%90%86%E6%A1%86%E6%9E%B6%E3%80%82%0A%0A%23%23%20Spring%20Cloud%20%E5%92%8C%20Dubbo%20%E7%9A%84%E5%8C%BA%E5%88%AB%EF%BC%9F%0A%E5%8F%82%E8%A7%81%20%5B%E3%80%8A%E7%B2%BE%E5%B0%BD%20Dubbo%20%E9%9D%A2%E8%AF%95%E9%A2%98%E3%80%8B%5D(http%3A%2F%2Fsvip.iocoder.cn%2FDubbo%2FInterview)%20%E6%96%87%E7%AB%A0%E7%9A%84%20%5B%E3%80%8CSpring%20Cloud%20%E4%B8%8E%20Dubbo%20%E6%80%8E%E4%B9%88%E9%80%89%E6%8B%A9%EF%BC%9F%E3%80%8D%5D(http%3A%2F%2Fsvip.iocoder.cn%2FSpring-Cloud%2FInterview%2F%23)%20%E9%97%AE%E9%A2%98%E7%9A%84%E8%A7%A3%E7%AD%94%E3%80%82%0A

什么是微服务?

什么是微服务?

一、微服务介绍

1. 什么是微服务

在介绍微服务时,首先得先理解什么是微服务,顾名思义,微服务得从两个方面去理解,什么是”微”、什么是”服务”, 微 狭义来讲就是体积小、著名的”2 pizza 团队”很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。

2. 微服务由来

微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理。

3. 为什么需要微服务?

在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。到后面引入了SOA服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间。最终 SOA 看起来很美,但却成为了企业级奢侈品,中小公司都望而生畏。

3.1 最期的单体架构带来的问题

单体架构在规模比较小的情况下工作情况良好,但是随着系统规模的扩大,它暴露出来的问题也越来越多,主要有以下几点:

1.复杂性逐渐变高

比如有的项目有几十万行代码,各个模块之间区别比较模糊,逻辑比较混乱,代码越多复杂性越高,越难解决遇到的问题。

2.技术债务逐渐上升

公司的人员流动是再正常不过的事情,有的员工在离职之前,疏于代码质量的自我管束,导致留下来很多坑,由于单体项目代码量庞大的惊人,留下的坑很难被发觉,这就给新来的员工带来很大的烦恼,人员流动越大所留下的坑越多,也就是所谓的技术债务越来越多。

3.部署速度逐渐变慢

这个就很好理解了,单体架构模块非常多,代码量非常庞大,导致部署项目所花费的时间越来越多,曾经有的项目启动就要一二十分钟,这是多么恐怖的事情啊,启动几次项目一天的时间就过去了,留给开发者开发的时间就非常少了。

4.阻碍技术创新

比如以前的某个项目使用struts2写的,由于各个模块之间有着千丝万缕的联系,代码量大,逻辑不够清楚,如果现在想用spring mvc来重构这个项目将是非常困难的,付出的成本将非常大,所以更多的时候公司不得不硬着头皮继续使用老的struts架构,这就阻碍了技术的创新。

5.无法按需伸缩

比如说电影模块是CPU密集型的模块,而订单模块是IO密集型的模块,假如我们要提升订单模块的性能,比如加大内存、增加硬盘,但是由于所有的模块都在一个架构下,因此我们在扩展订单模块的性能时不得不考虑其它模块的因素,因为我们不能因为扩展某个模块的性能而损害其它模块的性能,从而无法按需进行伸缩。

3.2 微服务与单体架构区别

  1. 单体架构所有的模块全都耦合在一块,代码量大,维护困难,微服务每个模块就相当于一个单独的项目,代码量明显减少,遇到问题也相对来说比较好解决。
  2. 单体架构所有的模块都共用一个数据库,存储方式比较单一,微服务每个模块都可以使用不同的存储方式(比如有的用redis,有的用mysql等),数据库也是单个模块对应自己的数据库。
  3. 单体架构所有的模块开发所使用的技术一样,微服务每个模块都可以使用不同的开发技术,开发模式更灵活。

3.3 微服务与SOA区别

微服务,从本质意义上看,还是 SOA 架构。但内涵有所不同,微服务并不绑定某种特殊的技术,在一个微服务的系统中,可以有 Java 编写的服务,也可以有 Python编写的服务,他们是靠Restful架构风格统一成一个系统的。所以微服务本身与具体技术实现无关,扩展性强。

4. 微服务本质

  1. 微服务,关键其实不仅仅是微服务本身,而是系统要提供一套基础的架构,这种架构使得微服务可以独立的部署、运行、升级,不仅如此,这个系统架构还让微服务与微服务之间在结构上“松耦合”,而在功能上则表现为一个统一的整体。这种所谓的“统一的整体”表现出来的是统一风格的界面,统一的权限管理,统一的安全策略,统一的上线过程,统一的日志和审计方法,统一的调度方式,统一的访问入口等等。
  2. 微服务的目的是有效的拆分应用,实现敏捷开发和部署
  3. 微服务提倡的理念团队间应该是 inter-operate, not integrate 。inter-operate是定义好系统的边界和接口,在一个团队内全栈,让团队自治,原因就是因为如果团队按照这样的方式组建,将沟通的成本维持在系统内部,每个子系统就会更加内聚,彼此的依赖耦合能变弱,跨系统的沟通成本也就能降低。

5. 什么样的项目适合微服务

微服务可以按照业务功能本身的独立性来划分,如果系统提供的业务是非常底层的,如:操作系统内核、存储系统、网络系统、数据库系统等等,这类系统都偏底层,功能和功能之间有着紧密的配合关系,如果强制拆分为较小的服务单元,会让集成工作量急剧上升,并且这种人为的切割无法带来业务上的真正的隔离,所以无法做到独立部署和运行,也就不适合做成微服务了。

能不能做成微服务,取决于四个要素:

  • 小:微服务体积小,2 pizza 团队。
  • 独:能够独立的部署和运行。
  • 轻:使用轻量级的通信机制和架构。
  • 松:为服务之间是松耦合的。

6. 微服务折分与设计

  1. 从单体式结构转向微服务架构中会持续碰到服务边界划分的问题:比如,我们有user 服务来提供用户的基础信息,那么用户的头像和图片等是应该单独划分为一个新的service更好还是应该合并到user服务里呢?如果服务的粒度划分的过粗,那就回到了单体式的老路;如果过细,那服务间调用的开销就变得不可忽视了,管理难度也会指数级增加。目前为止还没有一个可以称之为服务边界划分的标准,只能根据不同的业务系统加以调节
  2. 拆分的大原则是当一块业务不依赖或极少依赖其它服务,有独立的业务语义,为超过2个的其他服务或客户端提供数据,那么它就应该被拆分成一个独立的服务模块。

6.1 微服务设计原则

单一职责原则

意思是每个微服务只需要实现自己的业务逻辑就可以了,比如订单管理模块,它只需要处理订单的业务逻辑就可以了,其它的不必考虑。

服务自治原则

意思是每个微服务从开发、测试、运维等都是独立的,包括存储的数据库也都是独立的,自己就有一套完整的流程,我们完全可以把它当成一个项目来对待。不必依赖于其它模块。

轻量级通信原则

首先是通信的语言非常的轻量,第二,该通信方式需要是跨语言、跨平台的,之所以要跨平台、跨语言就是为了让每个微服务都有足够的独立性,可以不受技术的钳制。

接口明确原则

由于微服务之间可能存在着调用关系,为了尽量避免以后由于某个微服务的接口变化而导致其它微服务都做调整,在设计之初就要考虑到所有情况,让接口尽量做的更通用,更灵活,从而尽量避免其它模块也做调整。

7. 微服务优势与缺点

7.1 特性

  1. 每个微服务可独立运行在自己的进程里;
  2. 一系列独立运行的微服务共同构建起了整个系统;
  3. 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理,用户管理等;
  4. 微服务之间通过一些轻量级的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。

7.2 特点

易于开发和维护

由于微服务单个模块就相当于一个项目,开发这个模块我们就只需关心这个模块的逻辑即可,代码量和逻辑复杂度都会降低,从而易于开发和维护。

启动较快

这是相对单个微服务来讲的,相比于启动单体架构的整个项目,启动某个模块的服务速度明显是要快很多的。

局部修改容易部署

在开发中发现了一个问题,如果是单体架构的话,我们就需要重新发布并启动整个项目,非常耗时间,但是微服务则不同,哪个模块出现了bug我们只需要解决那个模块的bug就可以了,解决完bug之后,我们只需要重启这个模块的服务即可,部署相对简单,不必重启整个项目从而大大节约时间。

技术栈不受限

比如订单微服务和电影微服务原来都是用java写的,现在我们想把电影微服务改成nodeJs技术,这是完全可以的,而且由于所关注的只是电影的逻辑而已,因此技术更换的成本也就会少很多。

按需伸缩

我们上面说了单体架构在想扩展某个模块的性能时不得不考虑到其它模块的性能会不会受影响,对于我们微服务来讲,完全不是问题,电影模块通过什么方式来提升性能不必考虑其它模块的情况。

7.3 缺点

运维要求较高

对于单体架构来讲,我们只需要维护好这一个项目就可以了,但是对于微服务架构来讲,由于项目是由多个微服务构成的,每个模块出现问题都会造成整个项目运行出现异常,想要知道是哪个模块造成的问题往往是不容易的,因为我们无法一步一步通过debug的方式来跟踪,这就对运维人员提出了很高的要求。

分布式的复杂性

对于单体架构来讲,我们可以不使用分布式,但是对于微服务架构来说,分布式几乎是必会用的技术,由于分布式本身的复杂性,导致微服务架构也变得复杂起来。

接口调整成本高

比如,用户微服务是要被订单微服务和电影微服务所调用的,一旦用户微服务的接口发生大的变动,那么所有依赖它的微服务都要做相应的调整,由于微服务可能非常多,那么调整接口所造成的成本将会明显提高。

重复劳动

对于单体架构来讲,如果某段业务被多个模块所共同使用,我们便可以抽象成一个工具类,被所有模块直接调用,但是微服务却无法这样做,因为这个微服务的工具类是不能被其它微服务所直接调用的,从而我们便不得不在每个微服务上都建这么一个工具类,从而导致代码的重复。

8. 微服务开发框架

目前微服务的开发框架,最常用的有以下四个:

  1. Spring Cloud:http://projects.spring.io/spring-cloud(现在非常流行的微服务架构)
  2. Dubbo:http://dubbo.io
  3. Dropwizard:http://www.dropwizard.io (关注单个微服务的开发)
  4. Consul、etcd&etc.(微服务的模块)

9. Sprint cloud 和 Sprint boot区别

Spring Boot:

旨在简化创建产品级的Spring应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能,可以和spring cloud联合部署。

Spring Cloud:

微服务工具包,为开发者提供了在分布式系统的配置管理、服务发现、断路器、智能路由、微代理、控制总线等开发工具包。

二、微服务实践先知

1. 客户端如何访问这些服务?(API Gateway)

传统的开发方式,所有的服务都是本地的,UI可以直接调用,现在按功能拆分成独立的服务,跑在独立的一般都在独立的虚拟机上的 Java进程了。客户端UI如何访问他的?后台有N个服务,前台就需要记住管理N个服务,一个服务下线/更新/升级,前台就要重新部署,这明显不服务我们 拆分的理念,特别当前台是移动应用的时候,通常业务变化的节奏更快。另外,N个小服务的调用也是一个不小的网络开销。还有一般微服务在系统内部,通常是无状态的,用户登录信息和权限管理最好有一个统一的地方维护管理(OAuth)。

所以,一般在后台N个服务和UI之间一般会一个代理或者叫API Gateway,他的作用包括

  • 提供统一服务入口,让微服务对前台透明
  • 聚合后台的服务,节省流量,提升性能
  • 提供安全,过滤,流控等API管理功能
  • 我的理解其实这个API Gateway可以有很多广义的实现办法,可以是一个软硬一体的盒子,也可以是一个简单的MVC框架,甚至是一个Node.js的服务端。他们最重要的作用是为前台(通常是移动应用)提供后台服务的聚合,提供一个统一的服务出口,解除他们之间的耦合,不过API Gateway也有可能成为单点故障点或者性能的瓶颈。

2. 服务之间如何通信?(服务调用)

因为所有的微服务都是独立的Java进程跑在独立的虚拟机上,所以服务间的通行就是IPC(inter process communication),已经有很多成熟的方案。现在基本最通用的有两种方式。这几种方式,展开来讲都可以写本书,而且大家一般都比较熟悉细节了, 就不展开讲了。

  • REST(JAX-RS,Spring Boot)
  • RPC(Thrift, Dubbo)
  • 异步消息调用(Kafka, Notify)

一般同步调用比较简单,一致性强,但是容易出调用问题,性能体验上也会差些,特别是调用层次多的时候。RESTful和RPC的比较也是一个很有意 思的话题。一般REST基于HTTP,更容易实现,更容易被接受,服务端实现技术也更灵活些,各个语言都能支持,同时能跨客户端,对客户端没有特殊的要 求,只要封装了HTTP的SDK就能调用,所以相对使用的广一些。RPC也有自己的优点,传输协议更高效,安全更可控,特别在一个公司内部,如果有统一个的开发规范和统一的服务框架时,他的开发效率优势更明显些。就看各自的技术积累实际条件,自己的选择了。

异步消息的方式在分布式系统中有特别广泛的应用,他既能减低调用服务之间的耦合,又能成为调用之间的缓冲,确保消息积压不会冲垮被调用方,同时能 保证调用方的服务体验,继续干自己该干的活,不至于被后台性能拖慢。不过需要付出的代价是一致性的减弱,需要接受数据最终一致性;还有就是后台服务一般要 实现幂等性,因为消息发送出于性能的考虑一般会有重复(保证消息的被收到且仅收到一次对性能是很大的考验);最后就是必须引入一个独立的broker,如 果公司内部没有技术积累,对broker分布式管理也是一个很大的挑战。

3. 这么多服务怎么查找?(服务发现)

在微服务架构中,一般每一个服务都是有多个拷贝,来做负载均衡。一个服务随时可能下线,也可能应对临时访问压力增加新的服务节点。服务之间如何相互 感知?服务如何管理?这就是服务发现的问题了。一般有两类做法,也各有优缺点。基本都是通过zookeeper等类似技术做服务注册信息的分布式管理。当 服务上线时,服务提供者将自己的服务信息注册到ZK(或类似框架),并通过心跳维持长链接,实时更新链接信息。服务调用者通过ZK寻址,根据可定制算法,找到一个服务,还可以将服务信息缓存在本地以提高性能。当服务下线时,ZK会发通知给服务客户端。

客户端做:优点是架构简单,扩展灵活,只对服务注册器依赖。缺点是客户端要维护所有调用服务的地址,有技术难度,一般大公司都有成熟的内部框架支持,比如Dubbo。

服务端做:优点是简单,所有服务对于前台调用方透明,一般在小公司在云服务上部署的应用采用的比较多。

4. 服务挂了怎么办?

分布式最大的特性就是网络是不可靠 的。通过微服务拆分能降低这个风险,不过如果没有特别的保障,结局肯定是噩梦。我们刚遇到一个线上故障就是一个很不起眼的SQL计数功能,在访问量上升 时,导致数据库load彪高,影响了所在应用的性能,从而影响所有调用这个应用服务的前台应用。所以当我们的系统是由一系列的服务调用链组成的时候,我们必须确保任一环节出问题都不至于影响整体链路。相应的手段有很多:

  • 重试机制
  • 限流
  • 熔断机制
  • 负载均衡
  • 降级(本地缓存) 这些方法基本上都很明确通用,就不详细说明了。比如Netflix的Hystrix:https://github.com/Netflix/Hystrix

5. 微服务需要考虑的问题

这里有一个图非常好的总结微服务架构需要考虑的问题,包括

  1. API Gateway
  2. 服务间调用
  3. 服务发现
  4. 服务容错
  5. 服务部署
  6. 数据调用

三、微服务重要部件

1. 微服务基本能力

2. 服务注册中心

服务之间需要创建一种服务发现机制,用于帮助服务之间互相感知彼此的存在。服务启动时会将自身的服务信息注册到注册中心,并订阅自己需要消费的服务。

服务注册中心是服务发现的核心。它保存了各个可用服务实例的网络地址(IPAddress和Port)。服务注册中心必须要有高可用性和实时更新功能。上面提到的 Netflix Eureka 就是一个服务注册中心。它提供了服务注册和查询服务信息的REST API。服务通过使用POST请求注册自己的IPAddress和Port。每30秒发送一个PUT请求刷新注册信息。通过DELETE请求注销服务。客户端通过GET请求获取可用的服务实例信息。 Netflix的高可用(Netflix achieves high availability )是通过在Amazon EC2运行多个实例来实现的,每一个Eureka服务都有一个弹性IP Address。当Eureka服务启动时,有DNS服务器动态的分配。Eureka客户端通过查询 DNS来获取Eureka的网络地址(IP Address和Port)。一般情况下,都是返回和客户端在同一个可用区Eureka服务器地址。 其他能够作为服务注册中心的有:

  • etcd —– 高可用,分布式,强一致性的,key-value,Kubernetes和Cloud Foundry都是使用了etcd。
  • consul —–一个用于discovering和configuring的工具。它提供了允许客户端注册和发现服务的API。Consul可以进行服务健康检查,以确定服务的可用性。
  • zookeeper —— 在分布式应用中被广泛使用,高性能的协调服务。 Apache Zookeeper 最初为Hadoop的一个子项目,但现在是一个顶级项目。

2.1 zookeeper服务注册和发现

简单来讲,zookeeper可以充当一个服务注册表(Service Registry),让多个服务提供者形成一个集群,让服务消费者通过服务注册表获取具体的服务访问地址(ip+端口)去访问具体的服务提供者。如下图所示:

具体来说,zookeeper就是个分布式文件系统,每当一个服务提供者部署后都要将自己的服务注册到zookeeper的某一路径上: /{service}/{version}/{ip:port}, 比如我们的HelloWorldService部署到两台机器,那么zookeeper上就会创建两条目录:分别为/HelloWorldService/1.0.0/100.19.20.01:16888 /HelloWorldService/1.0.0/100.19.20.02:16888。

zookeeper提供了“心跳检测”功能,它会定时向各个服务提供者发送一个请求(实际上建立的是一个 socket 长连接),如果长期没有响应,服务中心就认为该服务提供者已经“挂了”,并将其剔除,比如100.19.20.02这台机器如果宕机了,那么zookeeper上的路径就会只剩/HelloWorldService/1.0.0/100.19.20.01:16888。

服务消费者会去监听相应路径(/HelloWorldService/1.0.0),一旦路径上的数据有任务变化(增加或减少),zookeeper都会通知服务消费方服务提供者地址列表已经发生改变,从而进行更新。

更为重要的是zookeeper 与生俱来的容错容灾能力(比如leader选举),可以确保服务注册表的高可用性。

3. 负载均衡

服务高可用的保证手段,为了保证高可用,每一个微服务都需要部署多个服务实例来提供服务。此时客户端进行服务的负载均衡。

3.1 负载均衡的常见策略

3.1.1 随机

把来自网络的请求随机分配给内部中的多个服务器。

3.1.2 轮询

每一个来自网络中的请求,轮流分配给内部的服务器,从1到N然后重新开始。此种负载均衡算法适合服务器组内部的服务器都具有相同的配置并且平均服务请求相对均衡的情况。

3.1.3 加权轮询

根据服务器的不同处理能力,给每个服务器分配不同的权值,使其能够接受相应权值数的服务请求。例如:服务器A的权值被设计成1,B的权值是3,C的权值是6,则服务器A、B、C将分别接受到10%、30%、60%的服务请求。此种均衡算法能确保高性能的服务器得到更多的使用率,避免低性能的服务器负载过重。

3.1.4 IP Hash

这种方式通过生成请求源IP的哈希值,并通过这个哈希值来找到正确的真实服务器。这意味着对于同一主机来说他对应的服务器总是相同。使用这种方式,你不需要保存任何源IP。但是需要注意,这种方式可能导致服务器负载不平衡。

3.1.5 最少连接数

客户端的每一次请求服务在服务器停留的时间可能会有较大的差异,随着工作时间加长,如果采用简单的轮循或随机均衡算法,每一台服务器上的连接进程可能会产生极大的不同,并没有达到真正的负载均衡。最少连接数均衡算法对内部中需负载的每一台服务器都有一个数据记录,记录当前该服务器正在处理的连接数量,当有新的服务连接请求时,将把当前请求分配给连接数最少的服务器,使均衡更加符合实际情况,负载更加均衡。此种均衡算法适合长时处理的请求服务,如FTP。

4. 容错

容错,这个词的理解,直面意思就是可以容下错误,不让错误再次扩张,让这个错误产生的影响在一个固定的边界之内,“千里之堤毁于蚁穴”我们用容错的方式就是让这种蚁穴不要变大。那么我们常见的降级,限流,熔断器,超时重试等等都是容错的方法。

在调用服务集群时,如果一个微服务调用异常,如超时,连接异常,网络异常等,则根据容错策略进行服务容错。目前支持的服务容错策略有快速失败,失效切换。如果连续失败多次则直接熔断,不再发起调用。这样可以避免一个服务异常拖垮所有依赖于他的服务。

4.1 容错策略

4.1.1 快速失败

服务只发起一次待用,失败立即报错。通常用于非幂等下性的写操作

4.1.2 失效切换

服务发起调用,当出现失败后,重试其他服务器。通常用于读操作,但重试会带来更长时间的延迟。重试的次数通常是可以设置的

4.1.3 失败安全

失败安全, 当服务调用出现异常时,直接忽略。通常用于写入日志等操作。

4.1.4 失败自动恢复

当服务调用出现异常时,记录失败请求,定时重发。通常用于消息通知。

4.1.5 forking Cluster

并行调用多个服务器,只要有一个成功,即返回。通常用于实时性较高的读操作。可以通过forks=n来设置最大并行数。

4.1.6 广播调用

广播调用所有提供者,逐个调用,任何一台失败则失败。通常用于通知所有提供者更新缓存或日志等本地资源信息。

5. 熔断

熔断技术可以说是一种“智能化的容错”,当调用满足失败次数,失败比例就会触发熔断器打开,有程序自动切断当前的RPC调用,来防止错误进一步扩大。实现一个熔断器主要是考虑三种模式,关闭,打开,半开。各个状态的转换如下图。

我们在处理异常的时候,要根据具体的业务情况来决定处理方式,比如我们调用商品接口,对方只是临时做了降级处理,那么作为网关调用就要切到可替换的服务上来执行或者获取托底数据,给用户友好提示。还有要区分异常的类型,比如依赖的服务崩溃了,这个可能需要花费比较久的时间来解决。也可能是由于服务器负载临时过高导致超时。作为熔断器应该能够甄别这种异常类型,从而根据具体的错误类型调整熔断策略。增加手动设置,在失败的服务恢复时间不确定的情况下,管理员可以手动强制切换熔断状态。最后,熔断器的使用场景是调用可能失败的远程服务程序或者共享资源。如果是本地缓存本地私有资源,使用熔断器则会增加系统的额外开销。还要注意,熔断器不能作为应用程序中业务逻辑的异常处理替代品。

有一些异常比较顽固,突然发生,无法预测,而且很难恢复,并且还会导致级联失败(举个例子,假设一个服务集群的负载非常高,如果这时候集群的一部分挂掉了,还占了很大一部分资源,整个集群都有可能遭殃)。如果我们这时还是不断进行重试的话,结果大多都是失败的。因此,此时我们的应用需要立即进入失败状态(fast-fail),并采取合适的方法进行恢复。

我们可以用状态机来实现CircuitBreaker,它有以下三种状态:

  • 关闭( Closed ):默认情况下Circuit Breaker是关闭的,此时允许操作执行。CircuitBreaker内部记录着最近失败的次数,如果对应的操作执行失败,次数就会续一次。如果在某个时间段内,失败次数(或者失败比率)达到阈值,CircuitBreaker会转换到开启( Open )状态。在开启状态中,Circuit Breaker会启用一个超时计时器,设这个计时器的目的是给集群相应的时间来恢复故障。当计时器时间到的时候,CircuitBreaker会转换到半开启( Half-Open )状态。
  • 开启( Open ):在此状态下,执行对应的操作将会立即失败并且立即抛出异常。
  • 半开启( Half-Open ):在此状态下,Circuit Breaker会允许执行一定数量的操作。如果所有操作全部成功,CircuitBreaker就会假定故障已经恢复,它就会转换到关闭状态,并且重置失败次数。如果其中 任意一次 操作失败了,Circuit Breaker就会认为故障仍然存在,所以它会转换到开启状态并再次开启计时器(再给系统一些时间使其从失败中恢复)

6. 限流和降级

保证核心服务的稳定性。为了保证核心服务的稳定性,随着访问量的不断增加,需要为系统能够处理的服务数量设置一个极限阀值,超过这个阀值的请求则直接拒绝。同时,为了保证核心服务的可用,可以对否些非核心服务进行降级,通过限制服务的最大访问量进行限流,通过管理控制台对单个微服务进行人工降级

7. SLA

SLA:Service-LevelAgreement的缩写,意思是服务等级协议。 是关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语。 典型的SLA包括以下项目:

  • 分配给客户的最小带宽;
  • 客户带宽极限;
  • 能同时服务的客户数目;
  • 在可能影响用户行为的网络变化之前的通知安排;
  • 拨入访问可用性;
  • 运用统计学;
  • 服务供应商支持的最小网络利用性能,如99.9%有效工作时间或每天最多为1分钟的停机时间;
  • 各类客户的流量优先权;
  • 客户技术支持和服务;
  • 惩罚规定,为服务供应商不能满足 SLA需求所指定。

8. API网关

这里说的网关是指API网关,直面意思是将所有API调用统一接入到API网关层,有网关层统一接入和输出。一个网关的基本功能有:统一接入、安全防护、协议适配、流量管控、长短链接支持、容错能力。有了网关之后,各个API服务提供团队可以专注于自己的的业务逻辑处理,而API网关更专注于安全、流量、路由等问题。

9. 多级缓存

最简单的缓存就是查一次数据库然后将数据写入缓存比如redis中并设置过期时间。因为有过期失效因此我们要关注下缓存的穿透率,这个穿透率的计算公式,比如查询方法queryOrder(调用次数1000/1s)里面嵌套查询DB方法queryProductFromDb(调用次数300/s),那么redis的穿透率就是300/1000,在这种使用缓存的方式下,是要重视穿透率的,穿透率大了说明缓存的效果不好。还有一种使用缓存的方式就是将缓存持久化,也就是不设置过期时间,这个就会面临一个数据更新的问题。一般有两种办法,一个是利用时间戳,查询默认以redis为主,每次设置数据的时候放入一个时间戳,每次读取数据的时候用系统当前时间和上次设置的这个时间戳做对比,比如超过5分钟,那么就再查一次数据库。这样可以保证redis里面永远有数据,一般是对DB的一种容错方法。还有一个就是真正的让redis做为DB使用。就是图里面画的通过订阅数据库的binlog通过数据异构系统将数据推送给缓存,同时将将缓存设置为多级。可以通过使用jvmcache作为应用内的一级缓存,一般是体积小,访问频率大的更适合这种jvmcache方式,将一套redis作为二级remote缓存,另外最外层三级redis作为持久化缓存。

10. 超时和重试

超时与重试机制也是容错的一种方法,凡是发生RPC调用的地方,比如读取redis,db,mq等,因为网络故障或者是所依赖的服务故障,长时间不能返回结果,就会导致线程增加,加大cpu负载,甚至导致雪崩。所以对每一个RPC调用都要设置超时时间。对于强依赖RPC调用资源的情况,还要有重试机制,但是重试的次数建议1-2次,另外如果有重试,那么超时时间就要相应的调小,比如重试1次,那么一共是发生2次调用。如果超时时间配置的是2s,那么客户端就要等待4s才能返回。因此重试+超时的方式,超时时间要调小。这里也再谈一下一次PRC调用的时间都消耗在哪些环节,一次正常的调用统计的耗时主要包括: ①调用端RPC框架执行时间 + ②网络发送时间 + ③服务端RPC框架执行时间 + ④服务端业务代码时间。调用方和服务方都有各自的性能监控,比如调用方tp99是500ms,服务方tp99是100ms,找了网络组的同事确认网络没有问题。那么时间都花在什么地方了呢,两种原因,客户端调用方,还有一个原因是网络发生TCP重传。所以要注意这两点。

11. 线程池隔离

在抗量这个环节,Servlet3异步的时候,有提到过线程隔离。线程隔离的之间优势就是防止级联故障,甚至是雪崩。当网关调用N多个接口服务的时候,我们要对每个接口进行线程隔离。比如,我们有调用订单、商品、用户。那么订单的业务不能够影响到商品和用户的请求处理。如果不做线程隔离,当访问订单服务出现网络故障导致延时,线程积压最终导致整个服务CPU负载满。就是我们说的服务全部不可用了,有多少机器都会被此刻的请求塞满。那么有了线程隔离就会使得我们的网关能保证局部问题不会影响全局。

12. 降级和限流

关于降级限流的方法业界都已经有很成熟的方法了,比如FAILBACK机制,限流的方法令牌桶,漏桶,信号量等。这里谈一下我们的一些经验,降级一般都是由统一配置中心的降级开关来实现的,那么当有很多个接口来自同一个提供方,这个提供方的系统或这机器所在机房网络出现了问题,我们就要有一个统一的降级开关,不然就要一个接口一个接口的来降级。也就是要对业务类型有一个大闸刀。还有就是 降级切记暴力降级,什么是暴力降级的,比如把论坛功能降调,结果用户显示一个大白板,我们要实现缓存住一些数据,也就是有托底数据。限流一般分为分布式限流和单机限流,如果实现分布式限流的话就要一个公共的后端存储服务比如redis,在大nginx节点上利用lua读取redis配置信息。我们现在的限流都是单机限流,并没有实施分布式限流。

13. 网关监控和统计

API网关是一个串行的调用,那么每一步发生的异常要记录下来,统一存储到一个地方比如elasticserach中,便于后续对调用异常的分析。鉴于公司docker申请都是统一分配,而且分配之前docker上已经存在3个agent了,不再允许增加。我们自己实现了一个agent程序,来负责采集服务器上面的日志输出,然后发送到kafka集群,再消费到elasticserach中,通过web查询。现在做的追踪功能还比较简单,这块还需要继续丰富。

微服务的优缺点分别是什么?

1)优点

  • 每一个服务足够内聚,代码容易理解
  • 开发效率提高,一个服务只做一件事
  • 微服务能够被小团队单独开发
  • 微服务是松耦合的,是有功能意义的服务
  • 可以用不同的语言开发,面向接口编程
  • 易于与第三方集成
  • 微服务只是业务逻辑的代码,不会和 HTML、CSS 或者其他界面组合
    • 开发中,两种开发模式
      • 前后端分离
      • 全栈工程师
  • 可以灵活搭配,连接公共库/连接独立库

2)缺点

  • 分布式系统的负责性
  • 多服务运维难度,随着服务的增加,运维的压力也在增大
  • 系统部署依赖
  • 服务间通信成本
  • 数据一致性
  • 系统集成测试
  • 性能监控

%5BTOC%5D%0A%0A%23%20%E4%BB%80%E4%B9%88%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%9F%0A%23%23%20%E4%B8%80%E3%80%81%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BB%8B%E7%BB%8D%0A%23%23%23%201.%20%E4%BB%80%E4%B9%88%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%0A%E2%80%8B%20%E5%9C%A8%E4%BB%8B%E7%BB%8D%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%97%B6%EF%BC%8C%E9%A6%96%E5%85%88%E5%BE%97%E5%85%88%E7%90%86%E8%A7%A3%E4%BB%80%E4%B9%88%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%8C%E9%A1%BE%E5%90%8D%E6%80%9D%E4%B9%89%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%BE%97%E4%BB%8E%E4%B8%A4%E4%B8%AA%E6%96%B9%E9%9D%A2%E5%8E%BB%E7%90%86%E8%A7%A3%EF%BC%8C%E4%BB%80%E4%B9%88%E6%98%AF%E2%80%9D%E5%BE%AE%E2%80%9D%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AF%E2%80%9D%E6%9C%8D%E5%8A%A1%E2%80%9D%EF%BC%8C%20%E5%BE%AE%20%E7%8B%AD%E4%B9%89%E6%9D%A5%E8%AE%B2%E5%B0%B1%E6%98%AF%E4%BD%93%E7%A7%AF%E5%B0%8F%E3%80%81%E8%91%97%E5%90%8D%E7%9A%84%E2%80%9D2%20pizza%20%E5%9B%A2%E9%98%9F%E2%80%9D%E5%BE%88%E5%A5%BD%E7%9A%84%E8%AF%A0%E9%87%8A%E4%BA%86%E8%BF%99%E4%B8%80%E8%A7%A3%E9%87%8A%EF%BC%882%20pizza%20%E5%9B%A2%E9%98%9F%E6%9C%80%E6%97%A9%E6%98%AF%E4%BA%9A%E9%A9%AC%E9%80%8A%20CEO%20Bezos%E6%8F%90%E5%87%BA%E6%9D%A5%E7%9A%84%EF%BC%8C%E6%84%8F%E6%80%9D%E6%98%AF%E8%AF%B4%E5%8D%95%E4%B8%AA%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%AE%BE%E8%AE%A1%EF%BC%8C%E6%89%80%E6%9C%89%E5%8F%82%E4%B8%8E%E4%BA%BA%E4%BB%8E%E8%AE%BE%E8%AE%A1%E3%80%81%E5%BC%80%E5%8F%91%E3%80%81%E6%B5%8B%E8%AF%95%E3%80%81%E8%BF%90%E7%BB%B4%E6%89%80%E6%9C%89%E4%BA%BA%E5%8A%A0%E8%B5%B7%E6%9D%A5%20%E5%8F%AA%E9%9C%80%E8%A6%812%E4%B8%AA%E6%8A%AB%E8%90%A8%E5%B0%B1%E5%A4%9F%E4%BA%86%20%EF%BC%89%E3%80%82%20%E8%80%8C%E6%89%80%E8%B0%93%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%B8%80%E5%AE%9A%E8%A6%81%E5%8C%BA%E5%88%AB%E4%BA%8E%E7%B3%BB%E7%BB%9F%EF%BC%8C%E6%9C%8D%E5%8A%A1%E4%B8%80%E4%B8%AA%E6%88%96%E8%80%85%E4%B8%80%E7%BB%84%E7%9B%B8%E5%AF%B9%E8%BE%83%E5%B0%8F%E4%B8%94%E7%8B%AC%E7%AB%8B%E7%9A%84%E5%8A%9F%E8%83%BD%E5%8D%95%E5%85%83%EF%BC%8C%E6%98%AF%E7%94%A8%E6%88%B7%E5%8F%AF%E4%BB%A5%E6%84%9F%E7%9F%A5%E6%9C%80%E5%B0%8F%E5%8A%9F%E8%83%BD%E9%9B%86%E3%80%82%0A%0A%23%23%23%202.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%94%B1%E6%9D%A5%0A%E2%80%8B%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9C%80%E6%97%A9%E7%94%B1Martin%20Fowler%E4%B8%8EJames%20Lewis%E4%BA%8E2014%E5%B9%B4%E5%85%B1%E5%90%8C%E6%8F%90%E5%87%BA%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E9%A3%8E%E6%A0%BC%E6%98%AF%E4%B8%80%E7%A7%8D%E4%BD%BF%E7%94%A8%E4%B8%80%E5%A5%97%E5%B0%8F%E6%9C%8D%E5%8A%A1%E6%9D%A5%E5%BC%80%E5%8F%91%E5%8D%95%E4%B8%AA%E5%BA%94%E7%94%A8%E7%9A%84%E6%96%B9%E5%BC%8F%E9%80%94%E5%BE%84%EF%BC%8C%E6%AF%8F%E4%B8%AA%E6%9C%8D%E5%8A%A1%E8%BF%90%E8%A1%8C%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E8%BF%9B%E7%A8%8B%E4%B8%AD%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E8%BD%BB%E9%87%8F%E7%BA%A7%E6%9C%BA%E5%88%B6%E9%80%9A%E4%BF%A1%EF%BC%8C%E9%80%9A%E5%B8%B8%E6%98%AFHTTP%20API%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%E5%9F%BA%E4%BA%8E%E4%B8%9A%E5%8A%A1%E8%83%BD%E5%8A%9B%E6%9E%84%E5%BB%BA%EF%BC%8C%E5%B9%B6%E8%83%BD%E5%A4%9F%E9%80%9A%E8%BF%87%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2%E6%9C%BA%E5%88%B6%E6%9D%A5%E7%8B%AC%E7%AB%8B%E9%83%A8%E7%BD%B2%EF%BC%8C%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%8D%E5%90%8C%E6%95%B0%E6%8D%AE%E5%AD%98%E5%82%A8%E6%8A%80%E6%9C%AF%EF%BC%8C%E5%B9%B6%E4%BF%9D%E6%8C%81%E6%9C%80%E4%BD%8E%E9%99%90%E5%BA%A6%E7%9A%84%E9%9B%86%E4%B8%AD%E5%BC%8F%E7%AE%A1%E7%90%86%E3%80%82%0A%0A%23%23%23%203.%20%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%9F%0A%E2%80%8B%20%E5%9C%A8%E4%BC%A0%E7%BB%9F%E7%9A%84IT%E8%A1%8C%E4%B8%9A%E8%BD%AF%E4%BB%B6%E5%A4%A7%E5%A4%9A%E9%83%BD%E6%98%AF%E5%90%84%E7%A7%8D%E7%8B%AC%E7%AB%8B%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%A0%86%E7%A0%8C%EF%BC%8C%E8%BF%99%E4%BA%9B%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%97%AE%E9%A2%98%E6%80%BB%E7%BB%93%E6%9D%A5%E8%AF%B4%E5%B0%B1%E6%98%AF%E6%89%A9%E5%B1%95%E6%80%A7%E5%B7%AE%EF%BC%8C%E5%8F%AF%E9%9D%A0%E6%80%A7%E4%B8%8D%E9%AB%98%EF%BC%8C%E7%BB%B4%E6%8A%A4%E6%88%90%E6%9C%AC%E9%AB%98%E3%80%82%E5%88%B0%E5%90%8E%E9%9D%A2%E5%BC%95%E5%85%A5%E4%BA%86SOA%E6%9C%8D%E5%8A%A1%E5%8C%96%EF%BC%8C%E4%BD%86%E6%98%AF%EF%BC%8C%E7%94%B1%E4%BA%8E%20SOA%20%E6%97%A9%E6%9C%9F%E5%9D%87%E4%BD%BF%E7%94%A8%E4%BA%86%E6%80%BB%E7%BA%BF%E6%A8%A1%E5%BC%8F%EF%BC%8C%E8%BF%99%E7%A7%8D%E6%80%BB%E7%BA%BF%E6%A8%A1%E5%BC%8F%E6%98%AF%E4%B8%8E%E6%9F%90%E7%A7%8D%E6%8A%80%E6%9C%AF%E6%A0%88%E5%BC%BA%E7%BB%91%E5%AE%9A%E7%9A%84%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9AJ2EE%E3%80%82%E8%BF%99%E5%AF%BC%E8%87%B4%E5%BE%88%E5%A4%9A%E4%BC%81%E4%B8%9A%E7%9A%84%E9%81%97%E7%95%99%E7%B3%BB%E7%BB%9F%E5%BE%88%E9%9A%BE%E5%AF%B9%E6%8E%A5%EF%BC%8C%E5%88%87%E6%8D%A2%E6%97%B6%E9%97%B4%E5%A4%AA%E9%95%BF%EF%BC%8C%E6%88%90%E6%9C%AC%E5%A4%AA%E9%AB%98%EF%BC%8C%E6%96%B0%E7%B3%BB%E7%BB%9F%E7%A8%B3%E5%AE%9A%E6%80%A7%E7%9A%84%E6%94%B6%E6%95%9B%E4%B9%9F%E9%9C%80%E8%A6%81%E4%B8%80%E4%BA%9B%E6%97%B6%E9%97%B4%E3%80%82%E6%9C%80%E7%BB%88%20SOA%20%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%BE%88%E7%BE%8E%EF%BC%8C%E4%BD%86%E5%8D%B4%E6%88%90%E4%B8%BA%E4%BA%86%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%A5%A2%E4%BE%88%E5%93%81%EF%BC%8C%E4%B8%AD%E5%B0%8F%E5%85%AC%E5%8F%B8%E9%83%BD%E6%9C%9B%E8%80%8C%E7%94%9F%E7%95%8F%E3%80%82%0A%0A%23%23%23%23%203.1%20%E6%9C%80%E6%9C%9F%E7%9A%84%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E5%B8%A6%E6%9D%A5%E7%9A%84%E9%97%AE%E9%A2%98%0A%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E5%9C%A8%E8%A7%84%E6%A8%A1%E6%AF%94%E8%BE%83%E5%B0%8F%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E5%B7%A5%E4%BD%9C%E6%83%85%E5%86%B5%E8%89%AF%E5%A5%BD%EF%BC%8C%E4%BD%86%E6%98%AF%E9%9A%8F%E7%9D%80%E7%B3%BB%E7%BB%9F%E8%A7%84%E6%A8%A1%E7%9A%84%E6%89%A9%E5%A4%A7%EF%BC%8C%E5%AE%83%E6%9A%B4%E9%9C%B2%E5%87%BA%E6%9D%A5%E7%9A%84%E9%97%AE%E9%A2%98%E4%B9%9F%E8%B6%8A%E6%9D%A5%E8%B6%8A%E5%A4%9A%EF%BC%8C%E4%B8%BB%E8%A6%81%E6%9C%89%E4%BB%A5%E4%B8%8B%E5%87%A0%E7%82%B9%EF%BC%9A%0A%0A1.%E5%A4%8D%E6%9D%82%E6%80%A7%E9%80%90%E6%B8%90%E5%8F%98%E9%AB%98%0A%0A%E6%AF%94%E5%A6%82%E6%9C%89%E7%9A%84%E9%A1%B9%E7%9B%AE%E6%9C%89%E5%87%A0%E5%8D%81%E4%B8%87%E8%A1%8C%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%90%84%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B9%8B%E9%97%B4%E5%8C%BA%E5%88%AB%E6%AF%94%E8%BE%83%E6%A8%A1%E7%B3%8A%EF%BC%8C%E9%80%BB%E8%BE%91%E6%AF%94%E8%BE%83%E6%B7%B7%E4%B9%B1%EF%BC%8C%E4%BB%A3%E7%A0%81%E8%B6%8A%E5%A4%9A%E5%A4%8D%E6%9D%82%E6%80%A7%E8%B6%8A%E9%AB%98%EF%BC%8C%E8%B6%8A%E9%9A%BE%E8%A7%A3%E5%86%B3%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%0A%0A2.%E6%8A%80%E6%9C%AF%E5%80%BA%E5%8A%A1%E9%80%90%E6%B8%90%E4%B8%8A%E5%8D%87%0A%0A%E5%85%AC%E5%8F%B8%E7%9A%84%E4%BA%BA%E5%91%98%E6%B5%81%E5%8A%A8%E6%98%AF%E5%86%8D%E6%AD%A3%E5%B8%B8%E4%B8%8D%E8%BF%87%E7%9A%84%E4%BA%8B%E6%83%85%EF%BC%8C%E6%9C%89%E7%9A%84%E5%91%98%E5%B7%A5%E5%9C%A8%E7%A6%BB%E8%81%8C%E4%B9%8B%E5%89%8D%EF%BC%8C%E7%96%8F%E4%BA%8E%E4%BB%A3%E7%A0%81%E8%B4%A8%E9%87%8F%E7%9A%84%E8%87%AA%E6%88%91%E7%AE%A1%E6%9D%9F%EF%BC%8C%E5%AF%BC%E8%87%B4%E7%95%99%E4%B8%8B%E6%9D%A5%E5%BE%88%E5%A4%9A%E5%9D%91%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%8D%95%E4%BD%93%E9%A1%B9%E7%9B%AE%E4%BB%A3%E7%A0%81%E9%87%8F%E5%BA%9E%E5%A4%A7%E7%9A%84%E6%83%8A%E4%BA%BA%EF%BC%8C%E7%95%99%E4%B8%8B%E7%9A%84%E5%9D%91%E5%BE%88%E9%9A%BE%E8%A2%AB%E5%8F%91%E8%A7%89%EF%BC%8C%E8%BF%99%E5%B0%B1%E7%BB%99%E6%96%B0%E6%9D%A5%E7%9A%84%E5%91%98%E5%B7%A5%E5%B8%A6%E6%9D%A5%E5%BE%88%E5%A4%A7%E7%9A%84%E7%83%A6%E6%81%BC%EF%BC%8C%E4%BA%BA%E5%91%98%E6%B5%81%E5%8A%A8%E8%B6%8A%E5%A4%A7%E6%89%80%E7%95%99%E4%B8%8B%E7%9A%84%E5%9D%91%E8%B6%8A%E5%A4%9A%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E6%89%80%E8%B0%93%E7%9A%84%E6%8A%80%E6%9C%AF%E5%80%BA%E5%8A%A1%E8%B6%8A%E6%9D%A5%E8%B6%8A%E5%A4%9A%E3%80%82%0A%0A3.%E9%83%A8%E7%BD%B2%E9%80%9F%E5%BA%A6%E9%80%90%E6%B8%90%E5%8F%98%E6%85%A2%0A%0A%E8%BF%99%E4%B8%AA%E5%B0%B1%E5%BE%88%E5%A5%BD%E7%90%86%E8%A7%A3%E4%BA%86%EF%BC%8C%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%A8%A1%E5%9D%97%E9%9D%9E%E5%B8%B8%E5%A4%9A%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%87%8F%E9%9D%9E%E5%B8%B8%E5%BA%9E%E5%A4%A7%EF%BC%8C%E5%AF%BC%E8%87%B4%E9%83%A8%E7%BD%B2%E9%A1%B9%E7%9B%AE%E6%89%80%E8%8A%B1%E8%B4%B9%E7%9A%84%E6%97%B6%E9%97%B4%E8%B6%8A%E6%9D%A5%E8%B6%8A%E5%A4%9A%EF%BC%8C%E6%9B%BE%E7%BB%8F%E6%9C%89%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%90%AF%E5%8A%A8%E5%B0%B1%E8%A6%81%E4%B8%80%E4%BA%8C%E5%8D%81%E5%88%86%E9%92%9F%EF%BC%8C%E8%BF%99%E6%98%AF%E5%A4%9A%E4%B9%88%E6%81%90%E6%80%96%E7%9A%84%E4%BA%8B%E6%83%85%E5%95%8A%EF%BC%8C%E5%90%AF%E5%8A%A8%E5%87%A0%E6%AC%A1%E9%A1%B9%E7%9B%AE%E4%B8%80%E5%A4%A9%E7%9A%84%E6%97%B6%E9%97%B4%E5%B0%B1%E8%BF%87%E5%8E%BB%E4%BA%86%EF%BC%8C%E7%95%99%E7%BB%99%E5%BC%80%E5%8F%91%E8%80%85%E5%BC%80%E5%8F%91%E7%9A%84%E6%97%B6%E9%97%B4%E5%B0%B1%E9%9D%9E%E5%B8%B8%E5%B0%91%E4%BA%86%E3%80%82%0A%0A4.%E9%98%BB%E7%A2%8D%E6%8A%80%E6%9C%AF%E5%88%9B%E6%96%B0%0A%0A%E6%AF%94%E5%A6%82%E4%BB%A5%E5%89%8D%E7%9A%84%E6%9F%90%E4%B8%AA%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8struts2%E5%86%99%E7%9A%84%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%90%84%E4%B8%AA%E6%A8%A1%E5%9D%97%E4%B9%8B%E9%97%B4%E6%9C%89%E7%9D%80%E5%8D%83%E4%B8%9D%E4%B8%87%E7%BC%95%E7%9A%84%E8%81%94%E7%B3%BB%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%87%8F%E5%A4%A7%EF%BC%8C%E9%80%BB%E8%BE%91%E4%B8%8D%E5%A4%9F%E6%B8%85%E6%A5%9A%EF%BC%8C%E5%A6%82%E6%9E%9C%E7%8E%B0%E5%9C%A8%E6%83%B3%E7%94%A8spring%20mvc%E6%9D%A5%E9%87%8D%E6%9E%84%E8%BF%99%E4%B8%AA%E9%A1%B9%E7%9B%AE%E5%B0%86%E6%98%AF%E9%9D%9E%E5%B8%B8%E5%9B%B0%E9%9A%BE%E7%9A%84%EF%BC%8C%E4%BB%98%E5%87%BA%E7%9A%84%E6%88%90%E6%9C%AC%E5%B0%86%E9%9D%9E%E5%B8%B8%E5%A4%A7%EF%BC%8C%E6%89%80%E4%BB%A5%E6%9B%B4%E5%A4%9A%E7%9A%84%E6%97%B6%E5%80%99%E5%85%AC%E5%8F%B8%E4%B8%8D%E5%BE%97%E4%B8%8D%E7%A1%AC%E7%9D%80%E5%A4%B4%E7%9A%AE%E7%BB%A7%E7%BB%AD%E4%BD%BF%E7%94%A8%E8%80%81%E7%9A%84struts%E6%9E%B6%E6%9E%84%EF%BC%8C%E8%BF%99%E5%B0%B1%E9%98%BB%E7%A2%8D%E4%BA%86%E6%8A%80%E6%9C%AF%E7%9A%84%E5%88%9B%E6%96%B0%E3%80%82%0A%0A5.%E6%97%A0%E6%B3%95%E6%8C%89%E9%9C%80%E4%BC%B8%E7%BC%A9%0A%0A%E6%AF%94%E5%A6%82%E8%AF%B4%E7%94%B5%E5%BD%B1%E6%A8%A1%E5%9D%97%E6%98%AFCPU%E5%AF%86%E9%9B%86%E5%9E%8B%E7%9A%84%E6%A8%A1%E5%9D%97%EF%BC%8C%E8%80%8C%E8%AE%A2%E5%8D%95%E6%A8%A1%E5%9D%97%E6%98%AFIO%E5%AF%86%E9%9B%86%E5%9E%8B%E7%9A%84%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%81%87%E5%A6%82%E6%88%91%E4%BB%AC%E8%A6%81%E6%8F%90%E5%8D%87%E8%AE%A2%E5%8D%95%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%EF%BC%8C%E6%AF%94%E5%A6%82%E5%8A%A0%E5%A4%A7%E5%86%85%E5%AD%98%E3%80%81%E5%A2%9E%E5%8A%A0%E7%A1%AC%E7%9B%98%EF%BC%8C%E4%BD%86%E6%98%AF%E7%94%B1%E4%BA%8E%E6%89%80%E6%9C%89%E7%9A%84%E6%A8%A1%E5%9D%97%E9%83%BD%E5%9C%A8%E4%B8%80%E4%B8%AA%E6%9E%B6%E6%9E%84%E4%B8%8B%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E5%9C%A8%E6%89%A9%E5%B1%95%E8%AE%A2%E5%8D%95%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%E6%97%B6%E4%B8%8D%E5%BE%97%E4%B8%8D%E8%80%83%E8%99%91%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E7%9A%84%E5%9B%A0%E7%B4%A0%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E4%B8%8D%E8%83%BD%E5%9B%A0%E4%B8%BA%E6%89%A9%E5%B1%95%E6%9F%90%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%E8%80%8C%E6%8D%9F%E5%AE%B3%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%EF%BC%8C%E4%BB%8E%E8%80%8C%E6%97%A0%E6%B3%95%E6%8C%89%E9%9C%80%E8%BF%9B%E8%A1%8C%E4%BC%B8%E7%BC%A9%E3%80%82%0A%23%23%23%23%203.2%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%8E%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E5%8C%BA%E5%88%AB%0A%0A1.%20%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%89%80%E6%9C%89%E7%9A%84%E6%A8%A1%E5%9D%97%E5%85%A8%E9%83%BD%E8%80%A6%E5%90%88%E5%9C%A8%E4%B8%80%E5%9D%97%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%87%8F%E5%A4%A7%EF%BC%8C%E7%BB%B4%E6%8A%A4%E5%9B%B0%E9%9A%BE%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%AF%8F%E4%B8%AA%E6%A8%A1%E5%9D%97%E5%B0%B1%E7%9B%B8%E5%BD%93%E4%BA%8E%E4%B8%80%E4%B8%AA%E5%8D%95%E7%8B%AC%E7%9A%84%E9%A1%B9%E7%9B%AE%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%87%8F%E6%98%8E%E6%98%BE%E5%87%8F%E5%B0%91%EF%BC%8C%E9%81%87%E5%88%B0%E9%97%AE%E9%A2%98%E4%B9%9F%E7%9B%B8%E5%AF%B9%E6%9D%A5%E8%AF%B4%E6%AF%94%E8%BE%83%E5%A5%BD%E8%A7%A3%E5%86%B3%E3%80%82%0A2.%20%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%89%80%E6%9C%89%E7%9A%84%E6%A8%A1%E5%9D%97%E9%83%BD%E5%85%B1%E7%94%A8%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%8C%E5%AD%98%E5%82%A8%E6%96%B9%E5%BC%8F%E6%AF%94%E8%BE%83%E5%8D%95%E4%B8%80%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%AF%8F%E4%B8%AA%E6%A8%A1%E5%9D%97%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E5%AD%98%E5%82%A8%E6%96%B9%E5%BC%8F%EF%BC%88%E6%AF%94%E5%A6%82%E6%9C%89%E7%9A%84%E7%94%A8redis%EF%BC%8C%E6%9C%89%E7%9A%84%E7%94%A8mysql%E7%AD%89%EF%BC%89%EF%BC%8C%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B9%9F%E6%98%AF%E5%8D%95%E4%B8%AA%E6%A8%A1%E5%9D%97%E5%AF%B9%E5%BA%94%E8%87%AA%E5%B7%B1%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%0A3.%20%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%89%80%E6%9C%89%E7%9A%84%E6%A8%A1%E5%9D%97%E5%BC%80%E5%8F%91%E6%89%80%E4%BD%BF%E7%94%A8%E7%9A%84%E6%8A%80%E6%9C%AF%E4%B8%80%E6%A0%B7%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%AF%8F%E4%B8%AA%E6%A8%A1%E5%9D%97%E9%83%BD%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E5%BC%80%E5%8F%91%E6%8A%80%E6%9C%AF%EF%BC%8C%E5%BC%80%E5%8F%91%E6%A8%A1%E5%BC%8F%E6%9B%B4%E7%81%B5%E6%B4%BB%E3%80%82%0A%0A!%5B7a75d2abfaca15a6870612d2dd1f3292.png%5D(en-resource%3A%2F%2Fdatabase%2F5601%3A1)%0A%0A%0A%23%23%23%23%203.3%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%8ESOA%E5%8C%BA%E5%88%AB%0A%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%BB%8E%E6%9C%AC%E8%B4%A8%E6%84%8F%E4%B9%89%E4%B8%8A%E7%9C%8B%EF%BC%8C%E8%BF%98%E6%98%AF%20SOA%20%E6%9E%B6%E6%9E%84%E3%80%82%E4%BD%86%E5%86%85%E6%B6%B5%E6%9C%89%E6%89%80%E4%B8%8D%E5%90%8C%EF%BC%8C%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%B9%B6%E4%B8%8D%E7%BB%91%E5%AE%9A%E6%9F%90%E7%A7%8D%E7%89%B9%E6%AE%8A%E7%9A%84%E6%8A%80%E6%9C%AF%EF%BC%8C%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E7%B3%BB%E7%BB%9F%E4%B8%AD%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%9C%89%20Java%20%E7%BC%96%E5%86%99%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E6%9C%89%20Python%E7%BC%96%E5%86%99%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%BB%96%E4%BB%AC%E6%98%AF%E9%9D%A0Restful%E6%9E%B6%E6%9E%84%E9%A3%8E%E6%A0%BC%E7%BB%9F%E4%B8%80%E6%88%90%E4%B8%80%E4%B8%AA%E7%B3%BB%E7%BB%9F%E7%9A%84%E3%80%82%E6%89%80%E4%BB%A5%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9C%AC%E8%BA%AB%E4%B8%8E%E5%85%B7%E4%BD%93%E6%8A%80%E6%9C%AF%E5%AE%9E%E7%8E%B0%E6%97%A0%E5%85%B3%EF%BC%8C%E6%89%A9%E5%B1%95%E6%80%A7%E5%BC%BA%E3%80%82%0A%0A%23%23%23%204.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9C%AC%E8%B4%A8%0A%0A1.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%85%B3%E9%94%AE%E5%85%B6%E5%AE%9E%E4%B8%8D%E4%BB%85%E4%BB%85%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9C%AC%E8%BA%AB%EF%BC%8C%E8%80%8C%E6%98%AF%E7%B3%BB%E7%BB%9F%E8%A6%81%E6%8F%90%E4%BE%9B%E4%B8%80%E5%A5%97%E5%9F%BA%E7%A1%80%E7%9A%84%E6%9E%B6%E6%9E%84%EF%BC%8C%E8%BF%99%E7%A7%8D%E6%9E%B6%E6%9E%84%E4%BD%BF%E5%BE%97%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AF%E4%BB%A5%E7%8B%AC%E7%AB%8B%E7%9A%84%E9%83%A8%E7%BD%B2%E3%80%81%E8%BF%90%E8%A1%8C%E3%80%81%E5%8D%87%E7%BA%A7%EF%BC%8C%E4%B8%8D%E4%BB%85%E5%A6%82%E6%AD%A4%EF%BC%8C%E8%BF%99%E4%B8%AA%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%BF%98%E8%AE%A9%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E5%9C%A8%E7%BB%93%E6%9E%84%E4%B8%8A%E2%80%9C%E6%9D%BE%E8%80%A6%E5%90%88%E2%80%9D%EF%BC%8C%E8%80%8C%E5%9C%A8%E5%8A%9F%E8%83%BD%E4%B8%8A%E5%88%99%E8%A1%A8%E7%8E%B0%E4%B8%BA%E4%B8%80%E4%B8%AA%E7%BB%9F%E4%B8%80%E7%9A%84%E6%95%B4%E4%BD%93%E3%80%82%E8%BF%99%E7%A7%8D%E6%89%80%E8%B0%93%E7%9A%84%E2%80%9C%E7%BB%9F%E4%B8%80%E7%9A%84%E6%95%B4%E4%BD%93%E2%80%9D%E8%A1%A8%E7%8E%B0%E5%87%BA%E6%9D%A5%E7%9A%84%E6%98%AF%E7%BB%9F%E4%B8%80%E9%A3%8E%E6%A0%BC%E7%9A%84%E7%95%8C%E9%9D%A2%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E5%AE%89%E5%85%A8%E7%AD%96%E7%95%A5%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E4%B8%8A%E7%BA%BF%E8%BF%87%E7%A8%8B%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E6%97%A5%E5%BF%97%E5%92%8C%E5%AE%A1%E8%AE%A1%E6%96%B9%E6%B3%95%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E8%B0%83%E5%BA%A6%E6%96%B9%E5%BC%8F%EF%BC%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E8%AE%BF%E9%97%AE%E5%85%A5%E5%8F%A3%E7%AD%89%E7%AD%89%E3%80%82%0A2.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E7%9B%AE%E7%9A%84%E6%98%AF%E6%9C%89%E6%95%88%E7%9A%84%E6%8B%86%E5%88%86%E5%BA%94%E7%94%A8%EF%BC%8C%E5%AE%9E%E7%8E%B0%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91%E5%92%8C%E9%83%A8%E7%BD%B2%20%E3%80%82%0A3.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%8F%90%E5%80%A1%E7%9A%84%E7%90%86%E5%BF%B5%E5%9B%A2%E9%98%9F%E9%97%B4%E5%BA%94%E8%AF%A5%E6%98%AF%20inter-operate%2C%20not%20integrate%20%E3%80%82inter-operate%E6%98%AF%E5%AE%9A%E4%B9%89%E5%A5%BD%E7%B3%BB%E7%BB%9F%E7%9A%84%E8%BE%B9%E7%95%8C%E5%92%8C%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%9B%A2%E9%98%9F%E5%86%85%E5%85%A8%E6%A0%88%EF%BC%8C%E8%AE%A9%E5%9B%A2%E9%98%9F%E8%87%AA%E6%B2%BB%EF%BC%8C%E5%8E%9F%E5%9B%A0%E5%B0%B1%E6%98%AF%E5%9B%A0%E4%B8%BA%E5%A6%82%E6%9E%9C%E5%9B%A2%E9%98%9F%E6%8C%89%E7%85%A7%E8%BF%99%E6%A0%B7%E7%9A%84%E6%96%B9%E5%BC%8F%E7%BB%84%E5%BB%BA%EF%BC%8C%E5%B0%86%E6%B2%9F%E9%80%9A%E7%9A%84%E6%88%90%E6%9C%AC%E7%BB%B4%E6%8C%81%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%86%85%E9%83%A8%EF%BC%8C%E6%AF%8F%E4%B8%AA%E5%AD%90%E7%B3%BB%E7%BB%9F%E5%B0%B1%E4%BC%9A%E6%9B%B4%E5%8A%A0%E5%86%85%E8%81%9A%EF%BC%8C%E5%BD%BC%E6%AD%A4%E7%9A%84%E4%BE%9D%E8%B5%96%E8%80%A6%E5%90%88%E8%83%BD%E5%8F%98%E5%BC%B1%EF%BC%8C%E8%B7%A8%E7%B3%BB%E7%BB%9F%E7%9A%84%E6%B2%9F%E9%80%9A%E6%88%90%E6%9C%AC%E4%B9%9F%E5%B0%B1%E8%83%BD%E9%99%8D%E4%BD%8E%E3%80%82%0A%0A%23%23%23%205.%20%E4%BB%80%E4%B9%88%E6%A0%B7%E7%9A%84%E9%A1%B9%E7%9B%AE%E9%80%82%E5%90%88%E5%BE%AE%E6%9C%8D%E5%8A%A1%0A%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AF%E4%BB%A5%E6%8C%89%E7%85%A7%E4%B8%9A%E5%8A%A1%E5%8A%9F%E8%83%BD%E6%9C%AC%E8%BA%AB%E7%9A%84%E7%8B%AC%E7%AB%8B%E6%80%A7%E6%9D%A5%E5%88%92%E5%88%86%EF%BC%8C%E5%A6%82%E6%9E%9C%E7%B3%BB%E7%BB%9F%E6%8F%90%E4%BE%9B%E7%9A%84%E4%B8%9A%E5%8A%A1%E6%98%AF%E9%9D%9E%E5%B8%B8%E5%BA%95%E5%B1%82%E7%9A%84%EF%BC%8C%E5%A6%82%EF%BC%9A%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%86%85%E6%A0%B8%E3%80%81%E5%AD%98%E5%82%A8%E7%B3%BB%E7%BB%9F%E3%80%81%E7%BD%91%E7%BB%9C%E7%B3%BB%E7%BB%9F%E3%80%81%E6%95%B0%E6%8D%AE%E5%BA%93%E7%B3%BB%E7%BB%9F%E7%AD%89%E7%AD%89%EF%BC%8C%E8%BF%99%E7%B1%BB%E7%B3%BB%E7%BB%9F%E9%83%BD%E5%81%8F%E5%BA%95%E5%B1%82%EF%BC%8C%E5%8A%9F%E8%83%BD%E5%92%8C%E5%8A%9F%E8%83%BD%E4%B9%8B%E9%97%B4%E6%9C%89%E7%9D%80%E7%B4%A7%E5%AF%86%E7%9A%84%E9%85%8D%E5%90%88%E5%85%B3%E7%B3%BB%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%BC%BA%E5%88%B6%E6%8B%86%E5%88%86%E4%B8%BA%E8%BE%83%E5%B0%8F%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%8D%95%E5%85%83%EF%BC%8C%E4%BC%9A%E8%AE%A9%E9%9B%86%E6%88%90%E5%B7%A5%E4%BD%9C%E9%87%8F%E6%80%A5%E5%89%A7%E4%B8%8A%E5%8D%87%EF%BC%8C%E5%B9%B6%E4%B8%94%E8%BF%99%E7%A7%8D%E4%BA%BA%E4%B8%BA%E7%9A%84%E5%88%87%E5%89%B2%E6%97%A0%E6%B3%95%E5%B8%A6%E6%9D%A5%E4%B8%9A%E5%8A%A1%E4%B8%8A%E7%9A%84%E7%9C%9F%E6%AD%A3%E7%9A%84%E9%9A%94%E7%A6%BB%EF%BC%8C%E6%89%80%E4%BB%A5%E6%97%A0%E6%B3%95%E5%81%9A%E5%88%B0%E7%8B%AC%E7%AB%8B%E9%83%A8%E7%BD%B2%E5%92%8C%E8%BF%90%E8%A1%8C%EF%BC%8C%E4%B9%9F%E5%B0%B1%E4%B8%8D%E9%80%82%E5%90%88%E5%81%9A%E6%88%90%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BA%86%E3%80%82%0A%0A%E8%83%BD%E4%B8%8D%E8%83%BD%E5%81%9A%E6%88%90%E5%BE%AE%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%8F%96%E5%86%B3%E4%BA%8E%E5%9B%9B%E4%B8%AA%E8%A6%81%E7%B4%A0%EF%BC%9A%0A%0A%20%E5%B0%8F%EF%BC%9A%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BD%93%E7%A7%AF%E5%B0%8F%EF%BC%8C2%20pizza%20%E5%9B%A2%E9%98%9F%E3%80%82%0A%20%E7%8B%AC%EF%BC%9A%E8%83%BD%E5%A4%9F%E7%8B%AC%E7%AB%8B%E7%9A%84%E9%83%A8%E7%BD%B2%E5%92%8C%E8%BF%90%E8%A1%8C%E3%80%82%0A%20%E8%BD%BB%EF%BC%9A%E4%BD%BF%E7%94%A8%E8%BD%BB%E9%87%8F%E7%BA%A7%E7%9A%84%E9%80%9A%E4%BF%A1%E6%9C%BA%E5%88%B6%E5%92%8C%E6%9E%B6%E6%9E%84%E3%80%82%0A%20%E6%9D%BE%EF%BC%9A%E4%B8%BA%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E6%98%AF%E6%9D%BE%E8%80%A6%E5%90%88%E7%9A%84%E3%80%82%0A%0A%23%23%23%206.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%8A%98%E5%88%86%E4%B8%8E%E8%AE%BE%E8%AE%A1%0A%0A1.%20%E4%BB%8E%E5%8D%95%E4%BD%93%E5%BC%8F%E7%BB%93%E6%9E%84%E8%BD%AC%E5%90%91%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B8%AD%E4%BC%9A%E6%8C%81%E7%BB%AD%E7%A2%B0%E5%88%B0%E6%9C%8D%E5%8A%A1%E8%BE%B9%E7%95%8C%E5%88%92%E5%88%86%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9A%E6%AF%94%E5%A6%82%EF%BC%8C%E6%88%91%E4%BB%AC%E6%9C%89user%20%E6%9C%8D%E5%8A%A1%E6%9D%A5%E6%8F%90%E4%BE%9B%E7%94%A8%E6%88%B7%E7%9A%84%E5%9F%BA%E7%A1%80%E4%BF%A1%E6%81%AF%EF%BC%8C%E9%82%A3%E4%B9%88%E7%94%A8%E6%88%B7%E7%9A%84%E5%A4%B4%E5%83%8F%E5%92%8C%E5%9B%BE%E7%89%87%E7%AD%89%E6%98%AF%E5%BA%94%E8%AF%A5%E5%8D%95%E7%8B%AC%E5%88%92%E5%88%86%E4%B8%BA%E4%B8%80%E4%B8%AA%E6%96%B0%E7%9A%84service%E6%9B%B4%E5%A5%BD%E8%BF%98%E6%98%AF%E5%BA%94%E8%AF%A5%E5%90%88%E5%B9%B6%E5%88%B0user%E6%9C%8D%E5%8A%A1%E9%87%8C%E5%91%A2%EF%BC%9F%E5%A6%82%E6%9E%9C%E6%9C%8D%E5%8A%A1%E7%9A%84%E7%B2%92%E5%BA%A6%E5%88%92%E5%88%86%E7%9A%84%E8%BF%87%E7%B2%97%EF%BC%8C%E9%82%A3%E5%B0%B1%E5%9B%9E%E5%88%B0%E4%BA%86%E5%8D%95%E4%BD%93%E5%BC%8F%E7%9A%84%E8%80%81%E8%B7%AF%EF%BC%9B%E5%A6%82%E6%9E%9C%E8%BF%87%E7%BB%86%EF%BC%8C%E9%82%A3%E6%9C%8D%E5%8A%A1%E9%97%B4%E8%B0%83%E7%94%A8%E7%9A%84%E5%BC%80%E9%94%80%E5%B0%B1%E5%8F%98%E5%BE%97%E4%B8%8D%E5%8F%AF%E5%BF%BD%E8%A7%86%E4%BA%86%EF%BC%8C%E7%AE%A1%E7%90%86%E9%9A%BE%E5%BA%A6%E4%B9%9F%E4%BC%9A%E6%8C%87%E6%95%B0%E7%BA%A7%E5%A2%9E%E5%8A%A0%E3%80%82%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%E8%BF%98%E6%B2%A1%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8F%AF%E4%BB%A5%E7%A7%B0%E4%B9%8B%E4%B8%BA%E6%9C%8D%E5%8A%A1%E8%BE%B9%E7%95%8C%E5%88%92%E5%88%86%E7%9A%84%E6%A0%87%E5%87%86%EF%BC%8C%E5%8F%AA%E8%83%BD%E6%A0%B9%E6%8D%AE%E4%B8%8D%E5%90%8C%E7%9A%84%E4%B8%9A%E5%8A%A1%E7%B3%BB%E7%BB%9F%E5%8A%A0%E4%BB%A5%E8%B0%83%E8%8A%82%0A2.%20%E6%8B%86%E5%88%86%E7%9A%84%E5%A4%A7%E5%8E%9F%E5%88%99%E6%98%AF%E5%BD%93%E4%B8%80%E5%9D%97%E4%B8%9A%E5%8A%A1%E4%B8%8D%E4%BE%9D%E8%B5%96%E6%88%96%E6%9E%81%E5%B0%91%E4%BE%9D%E8%B5%96%E5%85%B6%E5%AE%83%E6%9C%8D%E5%8A%A1%EF%BC%8C%E6%9C%89%E7%8B%AC%E7%AB%8B%E7%9A%84%E4%B8%9A%E5%8A%A1%E8%AF%AD%E4%B9%89%EF%BC%8C%E4%B8%BA%E8%B6%85%E8%BF%872%E4%B8%AA%E7%9A%84%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%E6%88%96%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8F%90%E4%BE%9B%E6%95%B0%E6%8D%AE%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%83%E5%B0%B1%E5%BA%94%E8%AF%A5%E8%A2%AB%E6%8B%86%E5%88%86%E6%88%90%E4%B8%80%E4%B8%AA%E7%8B%AC%E7%AB%8B%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%A8%A1%E5%9D%97%E3%80%82%0A%0A%23%23%23%23%206.1%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99%0A%E5%8D%95%E4%B8%80%E8%81%8C%E8%B4%A3%E5%8E%9F%E5%88%99%0A%0A%E6%84%8F%E6%80%9D%E6%98%AF%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AA%E9%9C%80%E8%A6%81%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%B7%B1%E7%9A%84%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%EF%BC%8C%E6%AF%94%E5%A6%82%E8%AE%A2%E5%8D%95%E7%AE%A1%E7%90%86%E6%A8%A1%E5%9D%97%EF%BC%8C%E5%AE%83%E5%8F%AA%E9%9C%80%E8%A6%81%E5%A4%84%E7%90%86%E8%AE%A2%E5%8D%95%E7%9A%84%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%EF%BC%8C%E5%85%B6%E5%AE%83%E7%9A%84%E4%B8%8D%E5%BF%85%E8%80%83%E8%99%91%E3%80%82%0A%0A%E6%9C%8D%E5%8A%A1%E8%87%AA%E6%B2%BB%E5%8E%9F%E5%88%99%0A%0A%E6%84%8F%E6%80%9D%E6%98%AF%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BB%8E%E5%BC%80%E5%8F%91%E3%80%81%E6%B5%8B%E8%AF%95%E3%80%81%E8%BF%90%E7%BB%B4%E7%AD%89%E9%83%BD%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%9A%84%EF%BC%8C%E5%8C%85%E6%8B%AC%E5%AD%98%E5%82%A8%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B9%9F%E9%83%BD%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%9A%84%EF%BC%8C%E8%87%AA%E5%B7%B1%E5%B0%B1%E6%9C%89%E4%B8%80%E5%A5%97%E5%AE%8C%E6%95%B4%E7%9A%84%E6%B5%81%E7%A8%8B%EF%BC%8C%E6%88%91%E4%BB%AC%E5%AE%8C%E5%85%A8%E5%8F%AF%E4%BB%A5%E6%8A%8A%E5%AE%83%E5%BD%93%E6%88%90%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E6%9D%A5%E5%AF%B9%E5%BE%85%E3%80%82%E4%B8%8D%E5%BF%85%E4%BE%9D%E8%B5%96%E4%BA%8E%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E3%80%82%0A%0A%E8%BD%BB%E9%87%8F%E7%BA%A7%E9%80%9A%E4%BF%A1%E5%8E%9F%E5%88%99%0A%0A%E9%A6%96%E5%85%88%E6%98%AF%E9%80%9A%E4%BF%A1%E7%9A%84%E8%AF%AD%E8%A8%80%E9%9D%9E%E5%B8%B8%E7%9A%84%E8%BD%BB%E9%87%8F%EF%BC%8C%E7%AC%AC%E4%BA%8C%EF%BC%8C%E8%AF%A5%E9%80%9A%E4%BF%A1%E6%96%B9%E5%BC%8F%E9%9C%80%E8%A6%81%E6%98%AF%E8%B7%A8%E8%AF%AD%E8%A8%80%E3%80%81%E8%B7%A8%E5%B9%B3%E5%8F%B0%E7%9A%84%EF%BC%8C%E4%B9%8B%E6%89%80%E4%BB%A5%E8%A6%81%E8%B7%A8%E5%B9%B3%E5%8F%B0%E3%80%81%E8%B7%A8%E8%AF%AD%E8%A8%80%E5%B0%B1%E6%98%AF%E4%B8%BA%E4%BA%86%E8%AE%A9%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E6%9C%89%E8%B6%B3%E5%A4%9F%E7%9A%84%E7%8B%AC%E7%AB%8B%E6%80%A7%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%B8%8D%E5%8F%97%E6%8A%80%E6%9C%AF%E7%9A%84%E9%92%B3%E5%88%B6%E3%80%82%0A%0A%E6%8E%A5%E5%8F%A3%E6%98%8E%E7%A1%AE%E5%8E%9F%E5%88%99%0A%0A%E7%94%B1%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E5%8F%AF%E8%83%BD%E5%AD%98%E5%9C%A8%E7%9D%80%E8%B0%83%E7%94%A8%E5%85%B3%E7%B3%BB%EF%BC%8C%E4%B8%BA%E4%BA%86%E5%B0%BD%E9%87%8F%E9%81%BF%E5%85%8D%E4%BB%A5%E5%90%8E%E7%94%B1%E4%BA%8E%E6%9F%90%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%8E%A5%E5%8F%A3%E5%8F%98%E5%8C%96%E8%80%8C%E5%AF%BC%E8%87%B4%E5%85%B6%E5%AE%83%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E5%81%9A%E8%B0%83%E6%95%B4%EF%BC%8C%E5%9C%A8%E8%AE%BE%E8%AE%A1%E4%B9%8B%E5%88%9D%E5%B0%B1%E8%A6%81%E8%80%83%E8%99%91%E5%88%B0%E6%89%80%E6%9C%89%E6%83%85%E5%86%B5%EF%BC%8C%E8%AE%A9%E6%8E%A5%E5%8F%A3%E5%B0%BD%E9%87%8F%E5%81%9A%E7%9A%84%E6%9B%B4%E9%80%9A%E7%94%A8%EF%BC%8C%E6%9B%B4%E7%81%B5%E6%B4%BB%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%B0%BD%E9%87%8F%E9%81%BF%E5%85%8D%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E4%B9%9F%E5%81%9A%E8%B0%83%E6%95%B4%E3%80%82%0A%0A%23%23%23%207.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%BC%98%E5%8A%BF%E4%B8%8E%E7%BC%BA%E7%82%B9%0A%23%23%23%23%207.1%20%E7%89%B9%E6%80%A7%0A%0A1.%20%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AF%E7%8B%AC%E7%AB%8B%E8%BF%90%E8%A1%8C%E5%9C%A8%E8%87%AA%E5%B7%B1%E7%9A%84%E8%BF%9B%E7%A8%8B%E9%87%8C%EF%BC%9B%0A2.%20%E4%B8%80%E7%B3%BB%E5%88%97%E7%8B%AC%E7%AB%8B%E8%BF%90%E8%A1%8C%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%85%B1%E5%90%8C%E6%9E%84%E5%BB%BA%E8%B5%B7%E4%BA%86%E6%95%B4%E4%B8%AA%E7%B3%BB%E7%BB%9F%EF%BC%9B%0A3.%20%E6%AF%8F%E4%B8%AA%E6%9C%8D%E5%8A%A1%E4%B8%BA%E7%8B%AC%E7%AB%8B%E7%9A%84%E4%B8%9A%E5%8A%A1%E5%BC%80%E5%8F%91%EF%BC%8C%E4%B8%80%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%80%E8%88%AC%E5%AE%8C%E6%88%90%E6%9F%90%E4%B8%AA%E7%89%B9%E5%AE%9A%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%8C%E6%AF%94%E5%A6%82%EF%BC%9A%E8%AE%A2%E5%8D%95%E7%AE%A1%E7%90%86%EF%BC%8C%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86%E7%AD%89%EF%BC%9B%0A4.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E9%80%9A%E8%BF%87%E4%B8%80%E4%BA%9B%E8%BD%BB%E9%87%8F%E7%BA%A7%E7%9A%84%E9%80%9A%E4%BF%A1%E6%9C%BA%E5%88%B6%E8%BF%9B%E8%A1%8C%E9%80%9A%E4%BF%A1%EF%BC%8C%E4%BE%8B%E5%A6%82%E9%80%9A%E8%BF%87REST%20API%E6%88%96%E8%80%85RPC%E7%9A%84%E6%96%B9%E5%BC%8F%E8%BF%9B%E8%A1%8C%E8%B0%83%E7%94%A8%E3%80%82%0A%0A%0A%23%23%23%23%207.2%20%E7%89%B9%E7%82%B9%0A%E6%98%93%E4%BA%8E%E5%BC%80%E5%8F%91%E5%92%8C%E7%BB%B4%E6%8A%A4%0A%0A%E7%94%B1%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8D%95%E4%B8%AA%E6%A8%A1%E5%9D%97%E5%B0%B1%E7%9B%B8%E5%BD%93%E4%BA%8E%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%BC%80%E5%8F%91%E8%BF%99%E4%B8%AA%E6%A8%A1%E5%9D%97%E6%88%91%E4%BB%AC%E5%B0%B1%E5%8F%AA%E9%9C%80%E5%85%B3%E5%BF%83%E8%BF%99%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84%E9%80%BB%E8%BE%91%E5%8D%B3%E5%8F%AF%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%87%8F%E5%92%8C%E9%80%BB%E8%BE%91%E5%A4%8D%E6%9D%82%E5%BA%A6%E9%83%BD%E4%BC%9A%E9%99%8D%E4%BD%8E%EF%BC%8C%E4%BB%8E%E8%80%8C%E6%98%93%E4%BA%8E%E5%BC%80%E5%8F%91%E5%92%8C%E7%BB%B4%E6%8A%A4%E3%80%82%0A%0A%E5%90%AF%E5%8A%A8%E8%BE%83%E5%BF%AB%0A%0A%E8%BF%99%E6%98%AF%E7%9B%B8%E5%AF%B9%E5%8D%95%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9D%A5%E8%AE%B2%E7%9A%84%EF%BC%8C%E7%9B%B8%E6%AF%94%E4%BA%8E%E5%90%AF%E5%8A%A8%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E7%9A%84%E6%95%B4%E4%B8%AA%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%90%AF%E5%8A%A8%E6%9F%90%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84%E6%9C%8D%E5%8A%A1%E9%80%9F%E5%BA%A6%E6%98%8E%E6%98%BE%E6%98%AF%E8%A6%81%E5%BF%AB%E5%BE%88%E5%A4%9A%E7%9A%84%E3%80%82%0A%0A%E5%B1%80%E9%83%A8%E4%BF%AE%E6%94%B9%E5%AE%B9%E6%98%93%E9%83%A8%E7%BD%B2%0A%0A%E5%9C%A8%E5%BC%80%E5%8F%91%E4%B8%AD%E5%8F%91%E7%8E%B0%E4%BA%86%E4%B8%80%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%98%AF%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E7%9A%84%E8%AF%9D%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E9%9C%80%E8%A6%81%E9%87%8D%E6%96%B0%E5%8F%91%E5%B8%83%E5%B9%B6%E5%90%AF%E5%8A%A8%E6%95%B4%E4%B8%AA%E9%A1%B9%E7%9B%AE%EF%BC%8C%E9%9D%9E%E5%B8%B8%E8%80%97%E6%97%B6%E9%97%B4%EF%BC%8C%E4%BD%86%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%88%99%E4%B8%8D%E5%90%8C%EF%BC%8C%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E5%87%BA%E7%8E%B0%E4%BA%86bug%E6%88%91%E4%BB%AC%E5%8F%AA%E9%9C%80%E8%A6%81%E8%A7%A3%E5%86%B3%E9%82%A3%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84bug%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%EF%BC%8C%E8%A7%A3%E5%86%B3%E5%AE%8Cbug%E4%B9%8B%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AA%E9%9C%80%E8%A6%81%E9%87%8D%E5%90%AF%E8%BF%99%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%8D%B3%E5%8F%AF%EF%BC%8C%E9%83%A8%E7%BD%B2%E7%9B%B8%E5%AF%B9%E7%AE%80%E5%8D%95%EF%BC%8C%E4%B8%8D%E5%BF%85%E9%87%8D%E5%90%AF%E6%95%B4%E4%B8%AA%E9%A1%B9%E7%9B%AE%E4%BB%8E%E8%80%8C%E5%A4%A7%E5%A4%A7%E8%8A%82%E7%BA%A6%E6%97%B6%E9%97%B4%E3%80%82%0A%0A%E6%8A%80%E6%9C%AF%E6%A0%88%E4%B8%8D%E5%8F%97%E9%99%90%0A%0A%E6%AF%94%E5%A6%82%E8%AE%A2%E5%8D%95%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%92%8C%E7%94%B5%E5%BD%B1%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8E%9F%E6%9D%A5%E9%83%BD%E6%98%AF%E7%94%A8java%E5%86%99%E7%9A%84%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%88%91%E4%BB%AC%E6%83%B3%E6%8A%8A%E7%94%B5%E5%BD%B1%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%94%B9%E6%88%90nodeJs%E6%8A%80%E6%9C%AF%EF%BC%8C%E8%BF%99%E6%98%AF%E5%AE%8C%E5%85%A8%E5%8F%AF%E4%BB%A5%E7%9A%84%EF%BC%8C%E8%80%8C%E4%B8%94%E7%94%B1%E4%BA%8E%E6%89%80%E5%85%B3%E6%B3%A8%E7%9A%84%E5%8F%AA%E6%98%AF%E7%94%B5%E5%BD%B1%E7%9A%84%E9%80%BB%E8%BE%91%E8%80%8C%E5%B7%B2%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%8A%80%E6%9C%AF%E6%9B%B4%E6%8D%A2%E7%9A%84%E6%88%90%E6%9C%AC%E4%B9%9F%E5%B0%B1%E4%BC%9A%E5%B0%91%E5%BE%88%E5%A4%9A%E3%80%82%0A%0A%E6%8C%89%E9%9C%80%E4%BC%B8%E7%BC%A9%0A%0A%E6%88%91%E4%BB%AC%E4%B8%8A%E9%9D%A2%E8%AF%B4%E4%BA%86%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E5%9C%A8%E6%83%B3%E6%89%A9%E5%B1%95%E6%9F%90%E4%B8%AA%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%E6%97%B6%E4%B8%8D%E5%BE%97%E4%B8%8D%E8%80%83%E8%99%91%E5%88%B0%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E7%9A%84%E6%80%A7%E8%83%BD%E4%BC%9A%E4%B8%8D%E4%BC%9A%E5%8F%97%E5%BD%B1%E5%93%8D%EF%BC%8C%E5%AF%B9%E4%BA%8E%E6%88%91%E4%BB%AC%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9D%A5%E8%AE%B2%EF%BC%8C%E5%AE%8C%E5%85%A8%E4%B8%8D%E6%98%AF%E9%97%AE%E9%A2%98%EF%BC%8C%E7%94%B5%E5%BD%B1%E6%A8%A1%E5%9D%97%E9%80%9A%E8%BF%87%E4%BB%80%E4%B9%88%E6%96%B9%E5%BC%8F%E6%9D%A5%E6%8F%90%E5%8D%87%E6%80%A7%E8%83%BD%E4%B8%8D%E5%BF%85%E8%80%83%E8%99%91%E5%85%B6%E5%AE%83%E6%A8%A1%E5%9D%97%E7%9A%84%E6%83%85%E5%86%B5%E3%80%82%0A%23%23%23%23%207.3%20%E7%BC%BA%E7%82%B9%0A%E8%BF%90%E7%BB%B4%E8%A6%81%E6%B1%82%E8%BE%83%E9%AB%98%0A%0A%E5%AF%B9%E4%BA%8E%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%9D%A5%E8%AE%B2%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AA%E9%9C%80%E8%A6%81%E7%BB%B4%E6%8A%A4%E5%A5%BD%E8%BF%99%E4%B8%80%E4%B8%AA%E9%A1%B9%E7%9B%AE%E5%B0%B1%E5%8F%AF%E4%BB%A5%E4%BA%86%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AF%B9%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E6%9D%A5%E8%AE%B2%EF%BC%8C%E7%94%B1%E4%BA%8E%E9%A1%B9%E7%9B%AE%E6%98%AF%E7%94%B1%E5%A4%9A%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%84%E6%88%90%E7%9A%84%EF%BC%8C%E6%AF%8F%E4%B8%AA%E6%A8%A1%E5%9D%97%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98%E9%83%BD%E4%BC%9A%E9%80%A0%E6%88%90%E6%95%B4%E4%B8%AA%E9%A1%B9%E7%9B%AE%E8%BF%90%E8%A1%8C%E5%87%BA%E7%8E%B0%E5%BC%82%E5%B8%B8%EF%BC%8C%E6%83%B3%E8%A6%81%E7%9F%A5%E9%81%93%E6%98%AF%E5%93%AA%E4%B8%AA%E6%A8%A1%E5%9D%97%E9%80%A0%E6%88%90%E7%9A%84%E9%97%AE%E9%A2%98%E5%BE%80%E5%BE%80%E6%98%AF%E4%B8%8D%E5%AE%B9%E6%98%93%E7%9A%84%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E4%BB%AC%E6%97%A0%E6%B3%95%E4%B8%80%E6%AD%A5%E4%B8%80%E6%AD%A5%E9%80%9A%E8%BF%87debug%E7%9A%84%E6%96%B9%E5%BC%8F%E6%9D%A5%E8%B7%9F%E8%B8%AA%EF%BC%8C%E8%BF%99%E5%B0%B1%E5%AF%B9%E8%BF%90%E7%BB%B4%E4%BA%BA%E5%91%98%E6%8F%90%E5%87%BA%E4%BA%86%E5%BE%88%E9%AB%98%E7%9A%84%E8%A6%81%E6%B1%82%E3%80%82%0A%0A%E5%88%86%E5%B8%83%E5%BC%8F%E7%9A%84%E5%A4%8D%E6%9D%82%E6%80%A7%0A%0A%E5%AF%B9%E4%BA%8E%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%9D%A5%E8%AE%B2%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%B8%8D%E4%BD%BF%E7%94%A8%E5%88%86%E5%B8%83%E5%BC%8F%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AF%B9%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E6%9D%A5%E8%AF%B4%EF%BC%8C%E5%88%86%E5%B8%83%E5%BC%8F%E5%87%A0%E4%B9%8E%E6%98%AF%E5%BF%85%E4%BC%9A%E7%94%A8%E7%9A%84%E6%8A%80%E6%9C%AF%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%88%86%E5%B8%83%E5%BC%8F%E6%9C%AC%E8%BA%AB%E7%9A%84%E5%A4%8D%E6%9D%82%E6%80%A7%EF%BC%8C%E5%AF%BC%E8%87%B4%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B9%9F%E5%8F%98%E5%BE%97%E5%A4%8D%E6%9D%82%E8%B5%B7%E6%9D%A5%E3%80%82%0A%0A%E6%8E%A5%E5%8F%A3%E8%B0%83%E6%95%B4%E6%88%90%E6%9C%AC%E9%AB%98%0A%0A%E6%AF%94%E5%A6%82%EF%BC%8C%E7%94%A8%E6%88%B7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%98%AF%E8%A6%81%E8%A2%AB%E8%AE%A2%E5%8D%95%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%92%8C%E7%94%B5%E5%BD%B1%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%89%80%E8%B0%83%E7%94%A8%E7%9A%84%EF%BC%8C%E4%B8%80%E6%97%A6%E7%94%A8%E6%88%B7%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%8E%A5%E5%8F%A3%E5%8F%91%E7%94%9F%E5%A4%A7%E7%9A%84%E5%8F%98%E5%8A%A8%EF%BC%8C%E9%82%A3%E4%B9%88%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96%E5%AE%83%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E8%A6%81%E5%81%9A%E7%9B%B8%E5%BA%94%E7%9A%84%E8%B0%83%E6%95%B4%EF%BC%8C%E7%94%B1%E4%BA%8E%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8F%AF%E8%83%BD%E9%9D%9E%E5%B8%B8%E5%A4%9A%EF%BC%8C%E9%82%A3%E4%B9%88%E8%B0%83%E6%95%B4%E6%8E%A5%E5%8F%A3%E6%89%80%E9%80%A0%E6%88%90%E7%9A%84%E6%88%90%E6%9C%AC%E5%B0%86%E4%BC%9A%E6%98%8E%E6%98%BE%E6%8F%90%E9%AB%98%E3%80%82%0A%0A%E9%87%8D%E5%A4%8D%E5%8A%B3%E5%8A%A8%0A%0A%E5%AF%B9%E4%BA%8E%E5%8D%95%E4%BD%93%E6%9E%B6%E6%9E%84%E6%9D%A5%E8%AE%B2%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9F%90%E6%AE%B5%E4%B8%9A%E5%8A%A1%E8%A2%AB%E5%A4%9A%E4%B8%AA%E6%A8%A1%E5%9D%97%E6%89%80%E5%85%B1%E5%90%8C%E4%BD%BF%E7%94%A8%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BE%BF%E5%8F%AF%E4%BB%A5%E6%8A%BD%E8%B1%A1%E6%88%90%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E7%B1%BB%EF%BC%8C%E8%A2%AB%E6%89%80%E6%9C%89%E6%A8%A1%E5%9D%97%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BD%86%E6%98%AF%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8D%B4%E6%97%A0%E6%B3%95%E8%BF%99%E6%A0%B7%E5%81%9A%EF%BC%8C%E5%9B%A0%E4%B8%BA%E8%BF%99%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%B7%A5%E5%85%B7%E7%B1%BB%E6%98%AF%E4%B8%8D%E8%83%BD%E8%A2%AB%E5%85%B6%E5%AE%83%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%89%80%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%E7%9A%84%EF%BC%8C%E4%BB%8E%E8%80%8C%E6%88%91%E4%BB%AC%E4%BE%BF%E4%B8%8D%E5%BE%97%E4%B8%8D%E5%9C%A8%E6%AF%8F%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E4%B8%8A%E9%83%BD%E5%BB%BA%E8%BF%99%E4%B9%88%E4%B8%80%E4%B8%AA%E5%B7%A5%E5%85%B7%E7%B1%BB%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%AF%BC%E8%87%B4%E4%BB%A3%E7%A0%81%E7%9A%84%E9%87%8D%E5%A4%8D%E3%80%82%0A%23%23%23%208.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%0A%E7%9B%AE%E5%89%8D%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%BC%80%E5%8F%91%E6%A1%86%E6%9E%B6%EF%BC%8C%E6%9C%80%E5%B8%B8%E7%94%A8%E7%9A%84%E6%9C%89%E4%BB%A5%E4%B8%8B%E5%9B%9B%E4%B8%AA%EF%BC%9A%0A%0A1.%20Spring%20Cloud%EF%BC%9Ahttp%3A%2F%2Fprojects.spring.io%2Fspring-cloud%EF%BC%88%E7%8E%B0%E5%9C%A8%E9%9D%9E%E5%B8%B8%E6%B5%81%E8%A1%8C%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%EF%BC%89%0A2.%20Dubbo%EF%BC%9Ahttp%EF%BC%9A%2F%2Fdubbo.io%0A3.%20Dropwizard%EF%BC%9Ahttp%3A%2F%2Fwww.dropwizard.io%20%EF%BC%88%E5%85%B3%E6%B3%A8%E5%8D%95%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%BC%80%E5%8F%91%EF%BC%89%0A4.%20Consul%E3%80%81etcd%26etc.%EF%BC%88%E5%BE%AE%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%A8%A1%E5%9D%97%EF%BC%89%0A%0A%23%23%23%209.%20Sprint%20cloud%20%E5%92%8C%20Sprint%20boot%E5%8C%BA%E5%88%AB%0ASpring%20Boot%3A%0A%0A%E6%97%A8%E5%9C%A8%E7%AE%80%E5%8C%96%E5%88%9B%E5%BB%BA%E4%BA%A7%E5%93%81%E7%BA%A7%E7%9A%84Spring%E5%BA%94%E7%94%A8%E5%92%8C%E6%9C%8D%E5%8A%A1%EF%BC%8C%E7%AE%80%E5%8C%96%E4%BA%86%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%BF%E7%94%A8%E5%B5%8C%E5%85%A5%E5%BC%8Fweb%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%90%AB%E6%9C%89%E8%AF%B8%E5%A4%9A%E5%BC%80%E7%AE%B1%E5%8D%B3%E7%94%A8%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%92%8Cspring%20cloud%E8%81%94%E5%90%88%E9%83%A8%E7%BD%B2%E3%80%82%0A%0ASpring%20Cloud%EF%BC%9A%0A%0A%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%B7%A5%E5%85%B7%E5%8C%85%EF%BC%8C%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85%E6%8F%90%E4%BE%9B%E4%BA%86%E5%9C%A8%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E3%80%81%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E3%80%81%E6%96%AD%E8%B7%AF%E5%99%A8%E3%80%81%E6%99%BA%E8%83%BD%E8%B7%AF%E7%94%B1%E3%80%81%E5%BE%AE%E4%BB%A3%E7%90%86%E3%80%81%E6%8E%A7%E5%88%B6%E6%80%BB%E7%BA%BF%E7%AD%89%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7%E5%8C%85%E3%80%82%0A%0A%23%23%20%E4%BA%8C%E3%80%81%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AE%9E%E8%B7%B5%E5%85%88%E7%9F%A5%0A%23%23%23%201.%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%E8%BF%99%E4%BA%9B%E6%9C%8D%E5%8A%A1%EF%BC%9F%EF%BC%88API%20Gateway%EF%BC%89%0A%E4%BC%A0%E7%BB%9F%E7%9A%84%E5%BC%80%E5%8F%91%E6%96%B9%E5%BC%8F%EF%BC%8C%E6%89%80%E6%9C%89%E7%9A%84%E6%9C%8D%E5%8A%A1%E9%83%BD%E6%98%AF%E6%9C%AC%E5%9C%B0%E7%9A%84%EF%BC%8CUI%E5%8F%AF%E4%BB%A5%E7%9B%B4%E6%8E%A5%E8%B0%83%E7%94%A8%EF%BC%8C%E7%8E%B0%E5%9C%A8%E6%8C%89%E5%8A%9F%E8%83%BD%E6%8B%86%E5%88%86%E6%88%90%E7%8B%AC%E7%AB%8B%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8C%E8%B7%91%E5%9C%A8%E7%8B%AC%E7%AB%8B%E7%9A%84%E4%B8%80%E8%88%AC%E9%83%BD%E5%9C%A8%E7%8B%AC%E7%AB%8B%E7%9A%84%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%E7%9A%84%20Java%E8%BF%9B%E7%A8%8B%E4%BA%86%E3%80%82%E5%AE%A2%E6%88%B7%E7%AB%AFUI%E5%A6%82%E4%BD%95%E8%AE%BF%E9%97%AE%E4%BB%96%E7%9A%84%EF%BC%9F%E5%90%8E%E5%8F%B0%E6%9C%89N%E4%B8%AA%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%89%8D%E5%8F%B0%E5%B0%B1%E9%9C%80%E8%A6%81%E8%AE%B0%E4%BD%8F%E7%AE%A1%E7%90%86N%E4%B8%AA%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E4%B8%8B%E7%BA%BF%2F%E6%9B%B4%E6%96%B0%2F%E5%8D%87%E7%BA%A7%EF%BC%8C%E5%89%8D%E5%8F%B0%E5%B0%B1%E8%A6%81%E9%87%8D%E6%96%B0%E9%83%A8%E7%BD%B2%EF%BC%8C%E8%BF%99%E6%98%8E%E6%98%BE%E4%B8%8D%E6%9C%8D%E5%8A%A1%E6%88%91%E4%BB%AC%20%E6%8B%86%E5%88%86%E7%9A%84%E7%90%86%E5%BF%B5%EF%BC%8C%E7%89%B9%E5%88%AB%E5%BD%93%E5%89%8D%E5%8F%B0%E6%98%AF%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E9%80%9A%E5%B8%B8%E4%B8%9A%E5%8A%A1%E5%8F%98%E5%8C%96%E7%9A%84%E8%8A%82%E5%A5%8F%E6%9B%B4%E5%BF%AB%E3%80%82%E5%8F%A6%E5%A4%96%EF%BC%8CN%E4%B8%AA%E5%B0%8F%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%B0%83%E7%94%A8%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%8D%E5%B0%8F%E7%9A%84%E7%BD%91%E7%BB%9C%E5%BC%80%E9%94%80%E3%80%82%E8%BF%98%E6%9C%89%E4%B8%80%E8%88%AC%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%9C%A8%E7%B3%BB%E7%BB%9F%E5%86%85%E9%83%A8%EF%BC%8C%E9%80%9A%E5%B8%B8%E6%98%AF%E6%97%A0%E7%8A%B6%E6%80%81%E7%9A%84%EF%BC%8C%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%E4%BF%A1%E6%81%AF%E5%92%8C%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86%E6%9C%80%E5%A5%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E7%BB%9F%E4%B8%80%E7%9A%84%E5%9C%B0%E6%96%B9%E7%BB%B4%E6%8A%A4%E7%AE%A1%E7%90%86%EF%BC%88OAuth%EF%BC%89%E3%80%82%0A%0A%E6%89%80%E4%BB%A5%EF%BC%8C%E4%B8%80%E8%88%AC%E5%9C%A8%E5%90%8E%E5%8F%B0N%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%92%8CUI%E4%B9%8B%E9%97%B4%E4%B8%80%E8%88%AC%E4%BC%9A%E4%B8%80%E4%B8%AA%E4%BB%A3%E7%90%86%E6%88%96%E8%80%85%E5%8F%ABAPI%20Gateway%EF%BC%8C%E4%BB%96%E7%9A%84%E4%BD%9C%E7%94%A8%E5%8C%85%E6%8B%AC%0A%0A%20%E6%8F%90%E4%BE%9B%E7%BB%9F%E4%B8%80%E6%9C%8D%E5%8A%A1%E5%85%A5%E5%8F%A3%EF%BC%8C%E8%AE%A9%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%AF%B9%E5%89%8D%E5%8F%B0%E9%80%8F%E6%98%8E%0A%20%E8%81%9A%E5%90%88%E5%90%8E%E5%8F%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%EF%BC%8C%E8%8A%82%E7%9C%81%E6%B5%81%E9%87%8F%EF%BC%8C%E6%8F%90%E5%8D%87%E6%80%A7%E8%83%BD%0A%20%E6%8F%90%E4%BE%9B%E5%AE%89%E5%85%A8%EF%BC%8C%E8%BF%87%E6%BB%A4%EF%BC%8C%E6%B5%81%E6%8E%A7%E7%AD%89API%E7%AE%A1%E7%90%86%E5%8A%9F%E8%83%BD%0A%20%E6%88%91%E7%9A%84%E7%90%86%E8%A7%A3%E5%85%B6%E5%AE%9E%E8%BF%99%E4%B8%AAAPI%20Gateway%E5%8F%AF%E4%BB%A5%E6%9C%89%E5%BE%88%E5%A4%9A%E5%B9%BF%E4%B9%89%E7%9A%84%E5%AE%9E%E7%8E%B0%E5%8A%9E%E6%B3%95%EF%BC%8C%E5%8F%AF%E4%BB%A5%E6%98%AF%E4%B8%80%E4%B8%AA%E8%BD%AF%E7%A1%AC%E4%B8%80%E4%BD%93%E7%9A%84%E7%9B%92%E5%AD%90%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E6%98%AF%E4%B8%80%E4%B8%AA%E7%AE%80%E5%8D%95%E7%9A%84MVC%E6%A1%86%E6%9E%B6%EF%BC%8C%E7%94%9A%E8%87%B3%E6%98%AF%E4%B8%80%E4%B8%AANode.js%E7%9A%84%E6%9C%8D%E5%8A%A1%E7%AB%AF%E3%80%82%E4%BB%96%E4%BB%AC%E6%9C%80%E9%87%8D%E8%A6%81%E7%9A%84%E4%BD%9C%E7%94%A8%E6%98%AF%E4%B8%BA%E5%89%8D%E5%8F%B0%EF%BC%88%E9%80%9A%E5%B8%B8%E6%98%AF%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%EF%BC%89%E6%8F%90%E4%BE%9B%E5%90%8E%E5%8F%B0%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%81%9A%E5%90%88%EF%BC%8C%E6%8F%90%E4%BE%9B%E4%B8%80%E4%B8%AA%E7%BB%9F%E4%B8%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%87%BA%E5%8F%A3%EF%BC%8C%E8%A7%A3%E9%99%A4%E4%BB%96%E4%BB%AC%E4%B9%8B%E9%97%B4%E7%9A%84%E8%80%A6%E5%90%88%EF%BC%8C%E4%B8%8D%E8%BF%87API%20Gateway%E4%B9%9F%E6%9C%89%E5%8F%AF%E8%83%BD%E6%88%90%E4%B8%BA%E5%8D%95%E7%82%B9%E6%95%85%E9%9A%9C%E7%82%B9%E6%88%96%E8%80%85%E6%80%A7%E8%83%BD%E7%9A%84%E7%93%B6%E9%A2%88%E3%80%82%0A%0A!%5B94a25dbb8de4812ca6dbc7aa30b04b58.png%5D(en-resource%3A%2F%2Fdatabase%2F5603%3A1)%0A%0A%0A%23%23%23%202.%20%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E5%A6%82%E4%BD%95%E9%80%9A%E4%BF%A1%EF%BC%9F%EF%BC%88%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%EF%BC%89%0A%E5%9B%A0%E4%B8%BA%E6%89%80%E6%9C%89%E7%9A%84%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%9A%84Java%E8%BF%9B%E7%A8%8B%E8%B7%91%E5%9C%A8%E7%8B%AC%E7%AB%8B%E7%9A%84%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%8A%EF%BC%8C%E6%89%80%E4%BB%A5%E6%9C%8D%E5%8A%A1%E9%97%B4%E7%9A%84%E9%80%9A%E8%A1%8C%E5%B0%B1%E6%98%AFIPC%EF%BC%88inter%20process%20communication%EF%BC%89%EF%BC%8C%E5%B7%B2%E7%BB%8F%E6%9C%89%E5%BE%88%E5%A4%9A%E6%88%90%E7%86%9F%E7%9A%84%E6%96%B9%E6%A1%88%E3%80%82%E7%8E%B0%E5%9C%A8%E5%9F%BA%E6%9C%AC%E6%9C%80%E9%80%9A%E7%94%A8%E7%9A%84%E6%9C%89%E4%B8%A4%E7%A7%8D%E6%96%B9%E5%BC%8F%E3%80%82%E8%BF%99%E5%87%A0%E7%A7%8D%E6%96%B9%E5%BC%8F%EF%BC%8C%E5%B1%95%E5%BC%80%E6%9D%A5%E8%AE%B2%E9%83%BD%E5%8F%AF%E4%BB%A5%E5%86%99%E6%9C%AC%E4%B9%A6%EF%BC%8C%E8%80%8C%E4%B8%94%E5%A4%A7%E5%AE%B6%E4%B8%80%E8%88%AC%E9%83%BD%E6%AF%94%E8%BE%83%E7%86%9F%E6%82%89%E7%BB%86%E8%8A%82%E4%BA%86%EF%BC%8C%20%E5%B0%B1%E4%B8%8D%E5%B1%95%E5%BC%80%E8%AE%B2%E4%BA%86%E3%80%82%0A%0A%20REST%EF%BC%88JAX-RS%EF%BC%8CSpring%20Boot%EF%BC%89%0A%20RPC%EF%BC%88Thrift%2C%20Dubbo%EF%BC%89%0A%20%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E8%B0%83%E7%94%A8(Kafka%2C%20Notify)%0A%0A!%5Bff3c7109ab1d78cef16f351cd1a12d75.png%5D(en-resource%3A%2F%2Fdatabase%2F5605%3A1)%0A%0A%0A%E4%B8%80%E8%88%AC%E5%90%8C%E6%AD%A5%E8%B0%83%E7%94%A8%E6%AF%94%E8%BE%83%E7%AE%80%E5%8D%95%EF%BC%8C%E4%B8%80%E8%87%B4%E6%80%A7%E5%BC%BA%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AE%B9%E6%98%93%E5%87%BA%E8%B0%83%E7%94%A8%E9%97%AE%E9%A2%98%EF%BC%8C%E6%80%A7%E8%83%BD%E4%BD%93%E9%AA%8C%E4%B8%8A%E4%B9%9F%E4%BC%9A%E5%B7%AE%E4%BA%9B%EF%BC%8C%E7%89%B9%E5%88%AB%E6%98%AF%E8%B0%83%E7%94%A8%E5%B1%82%E6%AC%A1%E5%A4%9A%E7%9A%84%E6%97%B6%E5%80%99%E3%80%82RESTful%E5%92%8CRPC%E7%9A%84%E6%AF%94%E8%BE%83%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BE%88%E6%9C%89%E6%84%8F%20%E6%80%9D%E7%9A%84%E8%AF%9D%E9%A2%98%E3%80%82%E4%B8%80%E8%88%ACREST%E5%9F%BA%E4%BA%8EHTTP%EF%BC%8C%E6%9B%B4%E5%AE%B9%E6%98%93%E5%AE%9E%E7%8E%B0%EF%BC%8C%E6%9B%B4%E5%AE%B9%E6%98%93%E8%A2%AB%E6%8E%A5%E5%8F%97%EF%BC%8C%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF%E4%B9%9F%E6%9B%B4%E7%81%B5%E6%B4%BB%E4%BA%9B%EF%BC%8C%E5%90%84%E4%B8%AA%E8%AF%AD%E8%A8%80%E9%83%BD%E8%83%BD%E6%94%AF%E6%8C%81%EF%BC%8C%E5%90%8C%E6%97%B6%E8%83%BD%E8%B7%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%8C%E5%AF%B9%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%B2%A1%E6%9C%89%E7%89%B9%E6%AE%8A%E7%9A%84%E8%A6%81%20%E6%B1%82%EF%BC%8C%E5%8F%AA%E8%A6%81%E5%B0%81%E8%A3%85%E4%BA%86HTTP%E7%9A%84SDK%E5%B0%B1%E8%83%BD%E8%B0%83%E7%94%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E7%9B%B8%E5%AF%B9%E4%BD%BF%E7%94%A8%E7%9A%84%E5%B9%BF%E4%B8%80%E4%BA%9B%E3%80%82RPC%E4%B9%9F%E6%9C%89%E8%87%AA%E5%B7%B1%E7%9A%84%E4%BC%98%E7%82%B9%EF%BC%8C%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE%E6%9B%B4%E9%AB%98%E6%95%88%EF%BC%8C%E5%AE%89%E5%85%A8%E6%9B%B4%E5%8F%AF%E6%8E%A7%EF%BC%8C%E7%89%B9%E5%88%AB%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%85%AC%E5%8F%B8%E5%86%85%E9%83%A8%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%9C%89%E7%BB%9F%E4%B8%80%E4%B8%AA%E7%9A%84%E5%BC%80%E5%8F%91%E8%A7%84%E8%8C%83%E5%92%8C%E7%BB%9F%E4%B8%80%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%A1%86%E6%9E%B6%E6%97%B6%EF%BC%8C%E4%BB%96%E7%9A%84%E5%BC%80%E5%8F%91%E6%95%88%E7%8E%87%E4%BC%98%E5%8A%BF%E6%9B%B4%E6%98%8E%E6%98%BE%E4%BA%9B%E3%80%82%E5%B0%B1%E7%9C%8B%E5%90%84%E8%87%AA%E7%9A%84%E6%8A%80%E6%9C%AF%E7%A7%AF%E7%B4%AF%E5%AE%9E%E9%99%85%E6%9D%A1%E4%BB%B6%EF%BC%8C%E8%87%AA%E5%B7%B1%E7%9A%84%E9%80%89%E6%8B%A9%E4%BA%86%E3%80%82%0A%0A%E8%80%8C%E5%BC%82%E6%AD%A5%E6%B6%88%E6%81%AF%E7%9A%84%E6%96%B9%E5%BC%8F%E5%9C%A8%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F%E4%B8%AD%E6%9C%89%E7%89%B9%E5%88%AB%E5%B9%BF%E6%B3%9B%E7%9A%84%E5%BA%94%E7%94%A8%EF%BC%8C%E4%BB%96%E6%97%A2%E8%83%BD%E5%87%8F%E4%BD%8E%E8%B0%83%E7%94%A8%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E7%9A%84%E8%80%A6%E5%90%88%EF%BC%8C%E5%8F%88%E8%83%BD%E6%88%90%E4%B8%BA%E8%B0%83%E7%94%A8%E4%B9%8B%E9%97%B4%E7%9A%84%E7%BC%93%E5%86%B2%EF%BC%8C%E7%A1%AE%E4%BF%9D%E6%B6%88%E6%81%AF%E7%A7%AF%E5%8E%8B%E4%B8%8D%E4%BC%9A%E5%86%B2%E5%9E%AE%E8%A2%AB%E8%B0%83%E7%94%A8%E6%96%B9%EF%BC%8C%E5%90%8C%E6%97%B6%E8%83%BD%20%E4%BF%9D%E8%AF%81%E8%B0%83%E7%94%A8%E6%96%B9%E7%9A%84%E6%9C%8D%E5%8A%A1%E4%BD%93%E9%AA%8C%EF%BC%8C%E7%BB%A7%E7%BB%AD%E5%B9%B2%E8%87%AA%E5%B7%B1%E8%AF%A5%E5%B9%B2%E7%9A%84%E6%B4%BB%EF%BC%8C%E4%B8%8D%E8%87%B3%E4%BA%8E%E8%A2%AB%E5%90%8E%E5%8F%B0%E6%80%A7%E8%83%BD%E6%8B%96%E6%85%A2%E3%80%82%E4%B8%8D%E8%BF%87%E9%9C%80%E8%A6%81%E4%BB%98%E5%87%BA%E7%9A%84%E4%BB%A3%E4%BB%B7%E6%98%AF%E4%B8%80%E8%87%B4%E6%80%A7%E7%9A%84%E5%87%8F%E5%BC%B1%EF%BC%8C%E9%9C%80%E8%A6%81%E6%8E%A5%E5%8F%97%E6%95%B0%E6%8D%AE%E6%9C%80%E7%BB%88%E4%B8%80%E8%87%B4%E6%80%A7%EF%BC%9B%E8%BF%98%E6%9C%89%E5%B0%B1%E6%98%AF%E5%90%8E%E5%8F%B0%E6%9C%8D%E5%8A%A1%E4%B8%80%E8%88%AC%E8%A6%81%20%E5%AE%9E%E7%8E%B0%E5%B9%82%E7%AD%89%E6%80%A7%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%B6%88%E6%81%AF%E5%8F%91%E9%80%81%E5%87%BA%E4%BA%8E%E6%80%A7%E8%83%BD%E7%9A%84%E8%80%83%E8%99%91%E4%B8%80%E8%88%AC%E4%BC%9A%E6%9C%89%E9%87%8D%E5%A4%8D%EF%BC%88%E4%BF%9D%E8%AF%81%E6%B6%88%E6%81%AF%E7%9A%84%E8%A2%AB%E6%94%B6%E5%88%B0%E4%B8%94%E4%BB%85%E6%94%B6%E5%88%B0%E4%B8%80%E6%AC%A1%E5%AF%B9%E6%80%A7%E8%83%BD%E6%98%AF%E5%BE%88%E5%A4%A7%E7%9A%84%E8%80%83%E9%AA%8C%EF%BC%89%EF%BC%9B%E6%9C%80%E5%90%8E%E5%B0%B1%E6%98%AF%E5%BF%85%E9%A1%BB%E5%BC%95%E5%85%A5%E4%B8%80%E4%B8%AA%E7%8B%AC%E7%AB%8B%E7%9A%84broker%EF%BC%8C%E5%A6%82%20%E6%9E%9C%E5%85%AC%E5%8F%B8%E5%86%85%E9%83%A8%E6%B2%A1%E6%9C%89%E6%8A%80%E6%9C%AF%E7%A7%AF%E7%B4%AF%EF%BC%8C%E5%AF%B9broker%E5%88%86%E5%B8%83%E5%BC%8F%E7%AE%A1%E7%90%86%E4%B9%9F%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BE%88%E5%A4%A7%E7%9A%84%E6%8C%91%E6%88%98%E3%80%82%0A%0A%23%23%23%203.%20%E8%BF%99%E4%B9%88%E5%A4%9A%E6%9C%8D%E5%8A%A1%E6%80%8E%E4%B9%88%E6%9F%A5%E6%89%BE%EF%BC%9F%EF%BC%88%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%EF%BC%89%0A%E2%80%8B%20%E5%9C%A8%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E4%B8%AD%EF%BC%8C%E4%B8%80%E8%88%AC%E6%AF%8F%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E9%83%BD%E6%98%AF%E6%9C%89%E5%A4%9A%E4%B8%AA%E6%8B%B7%E8%B4%9D%EF%BC%8C%E6%9D%A5%E5%81%9A%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E3%80%82%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E9%9A%8F%E6%97%B6%E5%8F%AF%E8%83%BD%E4%B8%8B%E7%BA%BF%EF%BC%8C%E4%B9%9F%E5%8F%AF%E8%83%BD%E5%BA%94%E5%AF%B9%E4%B8%B4%E6%97%B6%E8%AE%BF%E9%97%AE%E5%8E%8B%E5%8A%9B%E5%A2%9E%E5%8A%A0%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%8A%82%E7%82%B9%E3%80%82%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E5%A6%82%E4%BD%95%E7%9B%B8%E4%BA%92%20%E6%84%9F%E7%9F%A5%EF%BC%9F%E6%9C%8D%E5%8A%A1%E5%A6%82%E4%BD%95%E7%AE%A1%E7%90%86%EF%BC%9F%E8%BF%99%E5%B0%B1%E6%98%AF%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E7%9A%84%E9%97%AE%E9%A2%98%E4%BA%86%E3%80%82%E4%B8%80%E8%88%AC%E6%9C%89%E4%B8%A4%E7%B1%BB%E5%81%9A%E6%B3%95%EF%BC%8C%E4%B9%9F%E5%90%84%E6%9C%89%E4%BC%98%E7%BC%BA%E7%82%B9%E3%80%82%E5%9F%BA%E6%9C%AC%E9%83%BD%E6%98%AF%E9%80%9A%E8%BF%87zookeeper%E7%AD%89%E7%B1%BB%E4%BC%BC%E6%8A%80%E6%9C%AF%E5%81%9A%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%BF%A1%E6%81%AF%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E7%AE%A1%E7%90%86%E3%80%82%E5%BD%93%20%E6%9C%8D%E5%8A%A1%E4%B8%8A%E7%BA%BF%E6%97%B6%EF%BC%8C%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E5%B0%86%E8%87%AA%E5%B7%B1%E7%9A%84%E6%9C%8D%E5%8A%A1%E4%BF%A1%E6%81%AF%E6%B3%A8%E5%86%8C%E5%88%B0ZK%EF%BC%88%E6%88%96%E7%B1%BB%E4%BC%BC%E6%A1%86%E6%9E%B6%EF%BC%89%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E5%BF%83%E8%B7%B3%E7%BB%B4%E6%8C%81%E9%95%BF%E9%93%BE%E6%8E%A5%EF%BC%8C%E5%AE%9E%E6%97%B6%E6%9B%B4%E6%96%B0%E9%93%BE%E6%8E%A5%E4%BF%A1%E6%81%AF%E3%80%82%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E8%80%85%E9%80%9A%E8%BF%87ZK%E5%AF%BB%E5%9D%80%EF%BC%8C%E6%A0%B9%E6%8D%AE%E5%8F%AF%E5%AE%9A%E5%88%B6%E7%AE%97%E6%B3%95%EF%BC%8C%E6%89%BE%E5%88%B0%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%EF%BC%8C%E8%BF%98%E5%8F%AF%E4%BB%A5%E5%B0%86%E6%9C%8D%E5%8A%A1%E4%BF%A1%E6%81%AF%E7%BC%93%E5%AD%98%E5%9C%A8%E6%9C%AC%E5%9C%B0%E4%BB%A5%E6%8F%90%E9%AB%98%E6%80%A7%E8%83%BD%E3%80%82%E5%BD%93%E6%9C%8D%E5%8A%A1%E4%B8%8B%E7%BA%BF%E6%97%B6%EF%BC%8CZK%E4%BC%9A%E5%8F%91%E9%80%9A%E7%9F%A5%E7%BB%99%E6%9C%8D%E5%8A%A1%E5%AE%A2%E6%88%B7%E7%AB%AF%E3%80%82%0A%0A%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%81%9A%EF%BC%9A%E4%BC%98%E7%82%B9%E6%98%AF%E6%9E%B6%E6%9E%84%E7%AE%80%E5%8D%95%EF%BC%8C%E6%89%A9%E5%B1%95%E7%81%B5%E6%B4%BB%EF%BC%8C%E5%8F%AA%E5%AF%B9%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%99%A8%E4%BE%9D%E8%B5%96%E3%80%82%E7%BC%BA%E7%82%B9%E6%98%AF%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%A6%81%E7%BB%B4%E6%8A%A4%E6%89%80%E6%9C%89%E8%B0%83%E7%94%A8%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%9C%B0%E5%9D%80%EF%BC%8C%E6%9C%89%E6%8A%80%E6%9C%AF%E9%9A%BE%E5%BA%A6%EF%BC%8C%E4%B8%80%E8%88%AC%E5%A4%A7%E5%85%AC%E5%8F%B8%E9%83%BD%E6%9C%89%E6%88%90%E7%86%9F%E7%9A%84%E5%86%85%E9%83%A8%E6%A1%86%E6%9E%B6%E6%94%AF%E6%8C%81%EF%BC%8C%E6%AF%94%E5%A6%82Dubbo%E3%80%82%0A%0A%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%81%9A%EF%BC%9A%E4%BC%98%E7%82%B9%E6%98%AF%E7%AE%80%E5%8D%95%EF%BC%8C%E6%89%80%E6%9C%89%E6%9C%8D%E5%8A%A1%E5%AF%B9%E4%BA%8E%E5%89%8D%E5%8F%B0%E8%B0%83%E7%94%A8%E6%96%B9%E9%80%8F%E6%98%8E%EF%BC%8C%E4%B8%80%E8%88%AC%E5%9C%A8%E5%B0%8F%E5%85%AC%E5%8F%B8%E5%9C%A8%E4%BA%91%E6%9C%8D%E5%8A%A1%E4%B8%8A%E9%83%A8%E7%BD%B2%E7%9A%84%E5%BA%94%E7%94%A8%E9%87%87%E7%94%A8%E7%9A%84%E6%AF%94%E8%BE%83%E5%A4%9A%E3%80%82%0A%0A!%5Ba4be2ab84cb8e8d55d87f2356c26bb9e.png%5D(en-resource%3A%2F%2Fdatabase%2F5607%3A1)%0A%0A%0A%23%23%23%204.%20%E6%9C%8D%E5%8A%A1%E6%8C%82%E4%BA%86%E6%80%8E%E4%B9%88%E5%8A%9E%EF%BC%9F%0A%E2%80%8B%20%E5%88%86%E5%B8%83%E5%BC%8F%E6%9C%80%E5%A4%A7%E7%9A%84%E7%89%B9%E6%80%A7%E5%B0%B1%E6%98%AF%E7%BD%91%E7%BB%9C%E6%98%AF%E4%B8%8D%E5%8F%AF%E9%9D%A0%20%E7%9A%84%E3%80%82%E9%80%9A%E8%BF%87%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%8B%86%E5%88%86%E8%83%BD%E9%99%8D%E4%BD%8E%E8%BF%99%E4%B8%AA%E9%A3%8E%E9%99%A9%EF%BC%8C%E4%B8%8D%E8%BF%87%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89%E7%89%B9%E5%88%AB%E7%9A%84%E4%BF%9D%E9%9A%9C%EF%BC%8C%E7%BB%93%E5%B1%80%E8%82%AF%E5%AE%9A%E6%98%AF%E5%99%A9%E6%A2%A6%E3%80%82%E6%88%91%E4%BB%AC%E5%88%9A%E9%81%87%E5%88%B0%E4%B8%80%E4%B8%AA%E7%BA%BF%E4%B8%8A%E6%95%85%E9%9A%9C%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AA%E5%BE%88%E4%B8%8D%E8%B5%B7%E7%9C%BC%E7%9A%84SQL%E8%AE%A1%E6%95%B0%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%9C%A8%E8%AE%BF%E9%97%AE%E9%87%8F%E4%B8%8A%E5%8D%87%20%E6%97%B6%EF%BC%8C%E5%AF%BC%E8%87%B4%E6%95%B0%E6%8D%AE%E5%BA%93load%E5%BD%AA%E9%AB%98%EF%BC%8C%E5%BD%B1%E5%93%8D%E4%BA%86%E6%89%80%E5%9C%A8%E5%BA%94%E7%94%A8%E7%9A%84%E6%80%A7%E8%83%BD%EF%BC%8C%E4%BB%8E%E8%80%8C%E5%BD%B1%E5%93%8D%E6%89%80%E6%9C%89%E8%B0%83%E7%94%A8%E8%BF%99%E4%B8%AA%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%89%8D%E5%8F%B0%E5%BA%94%E7%94%A8%E3%80%82%E6%89%80%E4%BB%A5%E5%BD%93%E6%88%91%E4%BB%AC%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%98%AF%E7%94%B1%E4%B8%80%E7%B3%BB%E5%88%97%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E9%93%BE%E7%BB%84%E6%88%90%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BF%85%E9%A1%BB%E7%A1%AE%E4%BF%9D%E4%BB%BB%E4%B8%80%E7%8E%AF%E8%8A%82%E5%87%BA%E9%97%AE%E9%A2%98%E9%83%BD%E4%B8%8D%E8%87%B3%E4%BA%8E%E5%BD%B1%E5%93%8D%E6%95%B4%E4%BD%93%E9%93%BE%E8%B7%AF%E3%80%82%E7%9B%B8%E5%BA%94%E7%9A%84%E6%89%8B%E6%AE%B5%E6%9C%89%E5%BE%88%E5%A4%9A%EF%BC%9A%0A%0A%20%E9%87%8D%E8%AF%95%E6%9C%BA%E5%88%B6%0A%20%E9%99%90%E6%B5%81%0A%20%E7%86%94%E6%96%AD%E6%9C%BA%E5%88%B6%0A%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%0A%20%E9%99%8D%E7%BA%A7%EF%BC%88%E6%9C%AC%E5%9C%B0%E7%BC%93%E5%AD%98%EF%BC%89%20%E8%BF%99%E4%BA%9B%E6%96%B9%E6%B3%95%E5%9F%BA%E6%9C%AC%E4%B8%8A%E9%83%BD%E5%BE%88%E6%98%8E%E7%A1%AE%E9%80%9A%E7%94%A8%EF%BC%8C%E5%B0%B1%E4%B8%8D%E8%AF%A6%E7%BB%86%E8%AF%B4%E6%98%8E%E4%BA%86%E3%80%82%E6%AF%94%E5%A6%82Netflix%E7%9A%84Hystrix%EF%BC%9Ahttps%3A%2F%2Fgithub.com%2FNetflix%2FHystrix%0A%0A!%5B3050417b9af58f67a7caa9ebfd5b84ff.png%5D(en-resource%3A%2F%2Fdatabase%2F5609%3A1)%0A%0A%0A%23%23%23%205.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%9C%80%E8%A6%81%E8%80%83%E8%99%91%E7%9A%84%E9%97%AE%E9%A2%98%0A%E8%BF%99%E9%87%8C%E6%9C%89%E4%B8%80%E4%B8%AA%E5%9B%BE%E9%9D%9E%E5%B8%B8%E5%A5%BD%E7%9A%84%E6%80%BB%E7%BB%93%E5%BE%AE%E6%9C%8D%E5%8A%A1%E6%9E%B6%E6%9E%84%E9%9C%80%E8%A6%81%E8%80%83%E8%99%91%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%8C%E5%8C%85%E6%8B%AC%0A%0A1.%20API%20Gateway%0A2.%20%E6%9C%8D%E5%8A%A1%E9%97%B4%E8%B0%83%E7%94%A8%0A3.%20%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%0A4.%20%E6%9C%8D%E5%8A%A1%E5%AE%B9%E9%94%99%0A5.%20%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2%0A6.%20%E6%95%B0%E6%8D%AE%E8%B0%83%E7%94%A8%0A%0A%0A%23%23%20%E4%B8%89%E3%80%81%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%87%8D%E8%A6%81%E9%83%A8%E4%BB%B6%0A%23%23%23%201.%20%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%9F%BA%E6%9C%AC%E8%83%BD%E5%8A%9B%0A!%5Bee064656e2238e751913795be25ed882.png%5D(en-resource%3A%2F%2Fdatabase%2F5611%3A1)%0A%0A%0A%23%23%23%202.%20%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%0A%E2%80%8B%20%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E9%9C%80%E8%A6%81%E5%88%9B%E5%BB%BA%E4%B8%80%E7%A7%8D%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E6%9C%BA%E5%88%B6%EF%BC%8C%E7%94%A8%E4%BA%8E%E5%B8%AE%E5%8A%A9%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E4%BA%92%E7%9B%B8%E6%84%9F%E7%9F%A5%E5%BD%BC%E6%AD%A4%E7%9A%84%E5%AD%98%E5%9C%A8%E3%80%82%E6%9C%8D%E5%8A%A1%E5%90%AF%E5%8A%A8%E6%97%B6%E4%BC%9A%E5%B0%86%E8%87%AA%E8%BA%AB%E7%9A%84%E6%9C%8D%E5%8A%A1%E4%BF%A1%E6%81%AF%E6%B3%A8%E5%86%8C%E5%88%B0%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%EF%BC%8C%E5%B9%B6%E8%AE%A2%E9%98%85%E8%87%AA%E5%B7%B1%E9%9C%80%E8%A6%81%E6%B6%88%E8%B4%B9%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82%0A%0A%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E6%98%AF%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0%E7%9A%84%E6%A0%B8%E5%BF%83%E3%80%82%E5%AE%83%E4%BF%9D%E5%AD%98%E4%BA%86%E5%90%84%E4%B8%AA%E5%8F%AF%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%AE%9E%E4%BE%8B%E7%9A%84%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%EF%BC%88IPAddress%E5%92%8CPort%EF%BC%89%E3%80%82%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%BF%85%E9%A1%BB%E8%A6%81%E6%9C%89%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%E5%92%8C%E5%AE%9E%E6%97%B6%E6%9B%B4%E6%96%B0%E5%8A%9F%E8%83%BD%E3%80%82%E4%B8%8A%E9%9D%A2%E6%8F%90%E5%88%B0%E7%9A%84%20Netflix%20Eureka%20%E5%B0%B1%E6%98%AF%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E3%80%82%E5%AE%83%E6%8F%90%E4%BE%9B%E4%BA%86%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%92%8C%E6%9F%A5%E8%AF%A2%E6%9C%8D%E5%8A%A1%E4%BF%A1%E6%81%AF%E7%9A%84REST%20API%E3%80%82%E6%9C%8D%E5%8A%A1%E9%80%9A%E8%BF%87%E4%BD%BF%E7%94%A8POST%E8%AF%B7%E6%B1%82%E6%B3%A8%E5%86%8C%E8%87%AA%E5%B7%B1%E7%9A%84IPAddress%E5%92%8CPort%E3%80%82%E6%AF%8F30%E7%A7%92%E5%8F%91%E9%80%81%E4%B8%80%E4%B8%AAPUT%E8%AF%B7%E6%B1%82%E5%88%B7%E6%96%B0%E6%B3%A8%E5%86%8C%E4%BF%A1%E6%81%AF%E3%80%82%E9%80%9A%E8%BF%87DELETE%E8%AF%B7%E6%B1%82%E6%B3%A8%E9%94%80%E6%9C%8D%E5%8A%A1%E3%80%82%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%9A%E8%BF%87GET%E8%AF%B7%E6%B1%82%E8%8E%B7%E5%8F%96%E5%8F%AF%E7%94%A8%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%AE%9E%E4%BE%8B%E4%BF%A1%E6%81%AF%E3%80%82%20Netflix%E7%9A%84%E9%AB%98%E5%8F%AF%E7%94%A8%EF%BC%88Netflix%20achieves%20high%20availability%20%EF%BC%89%E6%98%AF%E9%80%9A%E8%BF%87%E5%9C%A8Amazon%20EC2%E8%BF%90%E8%A1%8C%E5%A4%9A%E4%B8%AA%E5%AE%9E%E4%BE%8B%E6%9D%A5%E5%AE%9E%E7%8E%B0%E7%9A%84%2C%E6%AF%8F%E4%B8%80%E4%B8%AAEureka%E6%9C%8D%E5%8A%A1%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E5%BC%B9%E6%80%A7IP%20Address%E3%80%82%E5%BD%93Eureka%E6%9C%8D%E5%8A%A1%E5%90%AF%E5%8A%A8%E6%97%B6%EF%BC%8C%E6%9C%89DNS%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8A%A8%E6%80%81%E7%9A%84%E5%88%86%E9%85%8D%E3%80%82Eureka%E5%AE%A2%E6%88%B7%E7%AB%AF%E9%80%9A%E8%BF%87%E6%9F%A5%E8%AF%A2%20DNS%E6%9D%A5%E8%8E%B7%E5%8F%96Eureka%E7%9A%84%E7%BD%91%E7%BB%9C%E5%9C%B0%E5%9D%80%EF%BC%88IP%20Address%E5%92%8CPort%EF%BC%89%E3%80%82%E4%B8%80%E8%88%AC%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E9%83%BD%E6%98%AF%E8%BF%94%E5%9B%9E%E5%92%8C%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%9C%A8%E5%90%8C%E4%B8%80%E4%B8%AA%E5%8F%AF%E7%94%A8%E5%8C%BAEureka%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%9C%B0%E5%9D%80%E3%80%82%20%E5%85%B6%E4%BB%96%E8%83%BD%E5%A4%9F%E4%BD%9C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E7%9A%84%E6%9C%89%EF%BC%9A%0A%0A%20etcd%20%E2%80%94%E2%80%93%20%E9%AB%98%E5%8F%AF%E7%94%A8%EF%BC%8C%E5%88%86%E5%B8%83%E5%BC%8F%EF%BC%8C%E5%BC%BA%E4%B8%80%E8%87%B4%E6%80%A7%E7%9A%84%EF%BC%8Ckey-value%EF%BC%8CKubernetes%E5%92%8CCloud%20Foundry%E9%83%BD%E6%98%AF%E4%BD%BF%E7%94%A8%E4%BA%86etcd%E3%80%82%0A%20consul%20%E2%80%94%E2%80%93%E4%B8%80%E4%B8%AA%E7%94%A8%E4%BA%8Ediscovering%E5%92%8Cconfiguring%E7%9A%84%E5%B7%A5%E5%85%B7%E3%80%82%E5%AE%83%E6%8F%90%E4%BE%9B%E4%BA%86%E5%85%81%E8%AE%B8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%B3%A8%E5%86%8C%E5%92%8C%E5%8F%91%E7%8E%B0%E6%9C%8D%E5%8A%A1%E7%9A%84API%E3%80%82Consul%E5%8F%AF%E4%BB%A5%E8%BF%9B%E8%A1%8C%E6%9C%8D%E5%8A%A1%E5%81%A5%E5%BA%B7%E6%A3%80%E6%9F%A5%EF%BC%8C%E4%BB%A5%E7%A1%AE%E5%AE%9A%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%8F%AF%E7%94%A8%E6%80%A7%E3%80%82%0A%20zookeeper%20%E2%80%94%E2%80%94%20%E5%9C%A8%E5%88%86%E5%B8%83%E5%BC%8F%E5%BA%94%E7%94%A8%E4%B8%AD%E8%A2%AB%E5%B9%BF%E6%B3%9B%E4%BD%BF%E7%94%A8%EF%BC%8C%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84%E5%8D%8F%E8%B0%83%E6%9C%8D%E5%8A%A1%E3%80%82%20Apache%20Zookeeper%20%E6%9C%80%E5%88%9D%E4%B8%BAHadoop%E7%9A%84%E4%B8%80%E4%B8%AA%E5%AD%90%E9%A1%B9%E7%9B%AE%EF%BC%8C%E4%BD%86%E7%8E%B0%E5%9C%A8%E6%98%AF%E4%B8%80%E4%B8%AA%E9%A1%B6%E7%BA%A7%E9%A1%B9%E7%9B%AE%E3%80%82%0A%0A%23%23%23%23%202.1%20zookeeper%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%92%8C%E5%8F%91%E7%8E%B0%0A%E7%AE%80%E5%8D%95%E6%9D%A5%E8%AE%B2%EF%BC%8Czookeeper%E5%8F%AF%E4%BB%A5%E5%85%85%E5%BD%93%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E8%A1%A8%EF%BC%88Service%20Registry%EF%BC%89%EF%BC%8C%E8%AE%A9%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E5%BD%A2%E6%88%90%E4%B8%80%E4%B8%AA%E9%9B%86%E7%BE%A4%EF%BC%8C%E8%AE%A9%E6%9C%8D%E5%8A%A1%E6%B6%88%E8%B4%B9%E8%80%85%E9%80%9A%E8%BF%87%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E8%A1%A8%E8%8E%B7%E5%8F%96%E5%85%B7%E4%BD%93%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%AE%BF%E9%97%AE%E5%9C%B0%E5%9D%80%EF%BC%88ip%2B%E7%AB%AF%E5%8F%A3%EF%BC%89%E5%8E%BB%E8%AE%BF%E9%97%AE%E5%85%B7%E4%BD%93%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E3%80%82%E5%A6%82%E4%B8%8B%E5%9B%BE%E6%89%80%E7%A4%BA%EF%BC%9A%0A%0A!%5B94f2478210937630a729aae7a14964a8.png%5D(en-resource%3A%2F%2Fdatabase%2F5613%3A1)%0A%0A%0A%E5%85%B7%E4%BD%93%E6%9D%A5%E8%AF%B4%EF%BC%8Czookeeper%E5%B0%B1%E6%98%AF%E4%B8%AA%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%EF%BC%8C%E6%AF%8F%E5%BD%93%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E9%83%A8%E7%BD%B2%E5%90%8E%E9%83%BD%E8%A6%81%E5%B0%86%E8%87%AA%E5%B7%B1%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E5%88%B0zookeeper%E7%9A%84%E6%9F%90%E4%B8%80%E8%B7%AF%E5%BE%84%E4%B8%8A%3A%20%2F%7Bservice%7D%2F%7Bversion%7D%2F%7Bip%3Aport%7D%2C%20%E6%AF%94%E5%A6%82%E6%88%91%E4%BB%AC%E7%9A%84HelloWorldService%E9%83%A8%E7%BD%B2%E5%88%B0%E4%B8%A4%E5%8F%B0%E6%9C%BA%E5%99%A8%EF%BC%8C%E9%82%A3%E4%B9%88zookeeper%E4%B8%8A%E5%B0%B1%E4%BC%9A%E5%88%9B%E5%BB%BA%E4%B8%A4%E6%9D%A1%E7%9B%AE%E5%BD%95%EF%BC%9A%E5%88%86%E5%88%AB%E4%B8%BA%2FHelloWorldService%2F1.0.0%2F100.19.20.01%3A16888%20%2FHelloWorldService%2F1.0.0%2F100.19.20.02%3A16888%E3%80%82%0A%0Azookeeper%E6%8F%90%E4%BE%9B%E4%BA%86%E2%80%9C%E5%BF%83%E8%B7%B3%E6%A3%80%E6%B5%8B%E2%80%9D%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%AE%83%E4%BC%9A%E5%AE%9A%E6%97%B6%E5%90%91%E5%90%84%E4%B8%AA%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E5%8F%91%E9%80%81%E4%B8%80%E4%B8%AA%E8%AF%B7%E6%B1%82%EF%BC%88%E5%AE%9E%E9%99%85%E4%B8%8A%E5%BB%BA%E7%AB%8B%E7%9A%84%E6%98%AF%E4%B8%80%E4%B8%AA%20socket%20%E9%95%BF%E8%BF%9E%E6%8E%A5%EF%BC%89%EF%BC%8C%E5%A6%82%E6%9E%9C%E9%95%BF%E6%9C%9F%E6%B2%A1%E6%9C%89%E5%93%8D%E5%BA%94%EF%BC%8C%E6%9C%8D%E5%8A%A1%E4%B8%AD%E5%BF%83%E5%B0%B1%E8%AE%A4%E4%B8%BA%E8%AF%A5%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E5%B7%B2%E7%BB%8F%E2%80%9C%E6%8C%82%E4%BA%86%E2%80%9D%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E5%89%94%E9%99%A4%EF%BC%8C%E6%AF%94%E5%A6%82100.19.20.02%E8%BF%99%E5%8F%B0%E6%9C%BA%E5%99%A8%E5%A6%82%E6%9E%9C%E5%AE%95%E6%9C%BA%E4%BA%86%EF%BC%8C%E9%82%A3%E4%B9%88zookeeper%E4%B8%8A%E7%9A%84%E8%B7%AF%E5%BE%84%E5%B0%B1%E4%BC%9A%E5%8F%AA%E5%89%A9%2FHelloWorldService%2F1.0.0%2F100.19.20.01%3A16888%E3%80%82%0A%0A%E6%9C%8D%E5%8A%A1%E6%B6%88%E8%B4%B9%E8%80%85%E4%BC%9A%E5%8E%BB%E7%9B%91%E5%90%AC%E7%9B%B8%E5%BA%94%E8%B7%AF%E5%BE%84%EF%BC%88%2FHelloWorldService%2F1.0.0%EF%BC%89%EF%BC%8C%E4%B8%80%E6%97%A6%E8%B7%AF%E5%BE%84%E4%B8%8A%E7%9A%84%E6%95%B0%E6%8D%AE%E6%9C%89%E4%BB%BB%E5%8A%A1%E5%8F%98%E5%8C%96%EF%BC%88%E5%A2%9E%E5%8A%A0%E6%88%96%E5%87%8F%E5%B0%91%EF%BC%89%EF%BC%8Czookeeper%E9%83%BD%E4%BC%9A%E9%80%9A%E7%9F%A5%E6%9C%8D%E5%8A%A1%E6%B6%88%E8%B4%B9%E6%96%B9%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E8%80%85%E5%9C%B0%E5%9D%80%E5%88%97%E8%A1%A8%E5%B7%B2%E7%BB%8F%E5%8F%91%E7%94%9F%E6%94%B9%E5%8F%98%EF%BC%8C%E4%BB%8E%E8%80%8C%E8%BF%9B%E8%A1%8C%E6%9B%B4%E6%96%B0%E3%80%82%0A%0A%E6%9B%B4%E4%B8%BA%E9%87%8D%E8%A6%81%E7%9A%84%E6%98%AFzookeeper%20%E4%B8%8E%E7%94%9F%E4%BF%B1%E6%9D%A5%E7%9A%84%E5%AE%B9%E9%94%99%E5%AE%B9%E7%81%BE%E8%83%BD%E5%8A%9B%EF%BC%88%E6%AF%94%E5%A6%82leader%E9%80%89%E4%B8%BE%EF%BC%89%EF%BC%8C%E5%8F%AF%E4%BB%A5%E7%A1%AE%E4%BF%9D%E6%9C%8D%E5%8A%A1%E6%B3%A8%E5%86%8C%E8%A1%A8%E7%9A%84%E9%AB%98%E5%8F%AF%E7%94%A8%E6%80%A7%E3%80%82%0A%0A%23%23%23%203.%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%0A%E6%9C%8D%E5%8A%A1%E9%AB%98%E5%8F%AF%E7%94%A8%E7%9A%84%E4%BF%9D%E8%AF%81%E6%89%8B%E6%AE%B5%EF%BC%8C%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%E9%AB%98%E5%8F%AF%E7%94%A8%EF%BC%8C%E6%AF%8F%E4%B8%80%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E9%83%BD%E9%9C%80%E8%A6%81%E9%83%A8%E7%BD%B2%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%AE%9E%E4%BE%8B%E6%9D%A5%E6%8F%90%E4%BE%9B%E6%9C%8D%E5%8A%A1%E3%80%82%E6%AD%A4%E6%97%B6%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%BF%9B%E8%A1%8C%E6%9C%8D%E5%8A%A1%E7%9A%84%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E3%80%82%0A%0A%23%23%23%23%203.1%20%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%9A%84%E5%B8%B8%E8%A7%81%E7%AD%96%E7%95%A5%0A%23%23%23%23%23%203.1.1%20%E9%9A%8F%E6%9C%BA%0A%E6%8A%8A%E6%9D%A5%E8%87%AA%E7%BD%91%E7%BB%9C%E7%9A%84%E8%AF%B7%E6%B1%82%E9%9A%8F%E6%9C%BA%E5%88%86%E9%85%8D%E7%BB%99%E5%86%85%E9%83%A8%E4%B8%AD%E7%9A%84%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82%0A%0A%23%23%23%23%23%203.1.2%20%E8%BD%AE%E8%AF%A2%0A%E6%AF%8F%E4%B8%80%E4%B8%AA%E6%9D%A5%E8%87%AA%E7%BD%91%E7%BB%9C%E4%B8%AD%E7%9A%84%E8%AF%B7%E6%B1%82%EF%BC%8C%E8%BD%AE%E6%B5%81%E5%88%86%E9%85%8D%E7%BB%99%E5%86%85%E9%83%A8%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BB%8E1%E5%88%B0N%E7%84%B6%E5%90%8E%E9%87%8D%E6%96%B0%E5%BC%80%E5%A7%8B%E3%80%82%E6%AD%A4%E7%A7%8D%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%AE%97%E6%B3%95%E9%80%82%E5%90%88%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BB%84%E5%86%85%E9%83%A8%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%BD%E5%85%B7%E6%9C%89%E7%9B%B8%E5%90%8C%E7%9A%84%E9%85%8D%E7%BD%AE%E5%B9%B6%E4%B8%94%E5%B9%B3%E5%9D%87%E6%9C%8D%E5%8A%A1%E8%AF%B7%E6%B1%82%E7%9B%B8%E5%AF%B9%E5%9D%87%E8%A1%A1%E7%9A%84%E6%83%85%E5%86%B5%E3%80%82%0A%0A%23%23%23%23%23%203.1.3%20%E5%8A%A0%E6%9D%83%E8%BD%AE%E8%AF%A2%0A%E6%A0%B9%E6%8D%AE%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E4%B8%8D%E5%90%8C%E5%A4%84%E7%90%86%E8%83%BD%E5%8A%9B%EF%BC%8C%E7%BB%99%E6%AF%8F%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%88%86%E9%85%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E6%9D%83%E5%80%BC%EF%BC%8C%E4%BD%BF%E5%85%B6%E8%83%BD%E5%A4%9F%E6%8E%A5%E5%8F%97%E7%9B%B8%E5%BA%94%E6%9D%83%E5%80%BC%E6%95%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%AF%B7%E6%B1%82%E3%80%82%E4%BE%8B%E5%A6%82%EF%BC%9A%E6%9C%8D%E5%8A%A1%E5%99%A8A%E7%9A%84%E6%9D%83%E5%80%BC%E8%A2%AB%E8%AE%BE%E8%AE%A1%E6%88%901%EF%BC%8CB%E7%9A%84%E6%9D%83%E5%80%BC%E6%98%AF3%EF%BC%8CC%E7%9A%84%E6%9D%83%E5%80%BC%E6%98%AF6%EF%BC%8C%E5%88%99%E6%9C%8D%E5%8A%A1%E5%99%A8A%E3%80%81B%E3%80%81C%E5%B0%86%E5%88%86%E5%88%AB%E6%8E%A5%E5%8F%97%E5%88%B010%25%E3%80%8130%EF%BC%85%E3%80%8160%EF%BC%85%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%AF%B7%E6%B1%82%E3%80%82%E6%AD%A4%E7%A7%8D%E5%9D%87%E8%A1%A1%E7%AE%97%E6%B3%95%E8%83%BD%E7%A1%AE%E4%BF%9D%E9%AB%98%E6%80%A7%E8%83%BD%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BE%97%E5%88%B0%E6%9B%B4%E5%A4%9A%E7%9A%84%E4%BD%BF%E7%94%A8%E7%8E%87%EF%BC%8C%E9%81%BF%E5%85%8D%E4%BD%8E%E6%80%A7%E8%83%BD%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B4%9F%E8%BD%BD%E8%BF%87%E9%87%8D%E3%80%82%0A%0A%23%23%23%23%23%203.1.4%20IP%20Hash%0A%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%E9%80%9A%E8%BF%87%E7%94%9F%E6%88%90%E8%AF%B7%E6%B1%82%E6%BA%90IP%E7%9A%84%E5%93%88%E5%B8%8C%E5%80%BC%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E8%BF%99%E4%B8%AA%E5%93%88%E5%B8%8C%E5%80%BC%E6%9D%A5%E6%89%BE%E5%88%B0%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%9C%9F%E5%AE%9E%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%E5%AF%B9%E4%BA%8E%E5%90%8C%E4%B8%80%E4%B8%BB%E6%9C%BA%E6%9D%A5%E8%AF%B4%E4%BB%96%E5%AF%B9%E5%BA%94%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%BB%E6%98%AF%E7%9B%B8%E5%90%8C%E3%80%82%E4%BD%BF%E7%94%A8%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%EF%BC%8C%E4%BD%A0%E4%B8%8D%E9%9C%80%E8%A6%81%E4%BF%9D%E5%AD%98%E4%BB%BB%E4%BD%95%E6%BA%90IP%E3%80%82%E4%BD%86%E6%98%AF%E9%9C%80%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%8C%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%E5%8F%AF%E8%83%BD%E5%AF%BC%E8%87%B4%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B4%9F%E8%BD%BD%E4%B8%8D%E5%B9%B3%E8%A1%A1%E3%80%82%0A%0A%23%23%23%23%23%203.1.5%20%E6%9C%80%E5%B0%91%E8%BF%9E%E6%8E%A5%E6%95%B0%0A%E5%AE%A2%E6%88%B7%E7%AB%AF%E7%9A%84%E6%AF%8F%E4%B8%80%E6%AC%A1%E8%AF%B7%E6%B1%82%E6%9C%8D%E5%8A%A1%E5%9C%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%81%9C%E7%95%99%E7%9A%84%E6%97%B6%E9%97%B4%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9C%89%E8%BE%83%E5%A4%A7%E7%9A%84%E5%B7%AE%E5%BC%82%EF%BC%8C%E9%9A%8F%E7%9D%80%E5%B7%A5%E4%BD%9C%E6%97%B6%E9%97%B4%E5%8A%A0%E9%95%BF%EF%BC%8C%E5%A6%82%E6%9E%9C%E9%87%87%E7%94%A8%E7%AE%80%E5%8D%95%E7%9A%84%E8%BD%AE%E5%BE%AA%E6%88%96%E9%9A%8F%E6%9C%BA%E5%9D%87%E8%A1%A1%E7%AE%97%E6%B3%95%EF%BC%8C%E6%AF%8F%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%E8%BF%9E%E6%8E%A5%E8%BF%9B%E7%A8%8B%E5%8F%AF%E8%83%BD%E4%BC%9A%E4%BA%A7%E7%94%9F%E6%9E%81%E5%A4%A7%E7%9A%84%E4%B8%8D%E5%90%8C%EF%BC%8C%E5%B9%B6%E6%B2%A1%E6%9C%89%E8%BE%BE%E5%88%B0%E7%9C%9F%E6%AD%A3%E7%9A%84%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E3%80%82%E6%9C%80%E5%B0%91%E8%BF%9E%E6%8E%A5%E6%95%B0%E5%9D%87%E8%A1%A1%E7%AE%97%E6%B3%95%E5%AF%B9%E5%86%85%E9%83%A8%E4%B8%AD%E9%9C%80%E8%B4%9F%E8%BD%BD%E7%9A%84%E6%AF%8F%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%83%BD%E6%9C%89%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E8%AE%B0%E5%BD%95%EF%BC%8C%E8%AE%B0%E5%BD%95%E5%BD%93%E5%89%8D%E8%AF%A5%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%AD%A3%E5%9C%A8%E5%A4%84%E7%90%86%E7%9A%84%E8%BF%9E%E6%8E%A5%E6%95%B0%E9%87%8F%EF%BC%8C%E5%BD%93%E6%9C%89%E6%96%B0%E7%9A%84%E6%9C%8D%E5%8A%A1%E8%BF%9E%E6%8E%A5%E8%AF%B7%E6%B1%82%E6%97%B6%EF%BC%8C%E5%B0%86%E6%8A%8A%E5%BD%93%E5%89%8D%E8%AF%B7%E6%B1%82%E5%88%86%E9%85%8D%E7%BB%99%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%9C%80%E5%B0%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E4%BD%BF%E5%9D%87%E8%A1%A1%E6%9B%B4%E5%8A%A0%E7%AC%A6%E5%90%88%E5%AE%9E%E9%99%85%E6%83%85%E5%86%B5%EF%BC%8C%E8%B4%9F%E8%BD%BD%E6%9B%B4%E5%8A%A0%E5%9D%87%E8%A1%A1%E3%80%82%E6%AD%A4%E7%A7%8D%E5%9D%87%E8%A1%A1%E7%AE%97%E6%B3%95%E9%80%82%E5%90%88%E9%95%BF%E6%97%B6%E5%A4%84%E7%90%86%E7%9A%84%E8%AF%B7%E6%B1%82%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%A6%82FTP%E3%80%82%0A%0A%23%23%23%204.%20%E5%AE%B9%E9%94%99%0A%E5%AE%B9%E9%94%99%EF%BC%8C%E8%BF%99%E4%B8%AA%E8%AF%8D%E7%9A%84%E7%90%86%E8%A7%A3%EF%BC%8C%E7%9B%B4%E9%9D%A2%E6%84%8F%E6%80%9D%E5%B0%B1%E6%98%AF%E5%8F%AF%E4%BB%A5%E5%AE%B9%E4%B8%8B%E9%94%99%E8%AF%AF%EF%BC%8C%E4%B8%8D%E8%AE%A9%E9%94%99%E8%AF%AF%E5%86%8D%E6%AC%A1%E6%89%A9%E5%BC%A0%EF%BC%8C%E8%AE%A9%E8%BF%99%E4%B8%AA%E9%94%99%E8%AF%AF%E4%BA%A7%E7%94%9F%E7%9A%84%E5%BD%B1%E5%93%8D%E5%9C%A8%E4%B8%80%E4%B8%AA%E5%9B%BA%E5%AE%9A%E7%9A%84%E8%BE%B9%E7%95%8C%E4%B9%8B%E5%86%85%EF%BC%8C%E2%80%9C%E5%8D%83%E9%87%8C%E4%B9%8B%E5%A0%A4%E6%AF%81%E4%BA%8E%E8%9A%81%E7%A9%B4%E2%80%9D%E6%88%91%E4%BB%AC%E7%94%A8%E5%AE%B9%E9%94%99%E7%9A%84%E6%96%B9%E5%BC%8F%E5%B0%B1%E6%98%AF%E8%AE%A9%E8%BF%99%E7%A7%8D%E8%9A%81%E7%A9%B4%E4%B8%8D%E8%A6%81%E5%8F%98%E5%A4%A7%E3%80%82%E9%82%A3%E4%B9%88%E6%88%91%E4%BB%AC%E5%B8%B8%E8%A7%81%E7%9A%84%E9%99%8D%E7%BA%A7%EF%BC%8C%E9%99%90%E6%B5%81%EF%BC%8C%E7%86%94%E6%96%AD%E5%99%A8%EF%BC%8C%E8%B6%85%E6%97%B6%E9%87%8D%E8%AF%95%E7%AD%89%E7%AD%89%E9%83%BD%E6%98%AF%E5%AE%B9%E9%94%99%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%0A%0A%E5%9C%A8%E8%B0%83%E7%94%A8%E6%9C%8D%E5%8A%A1%E9%9B%86%E7%BE%A4%E6%97%B6%EF%BC%8C%E5%A6%82%E6%9E%9C%E4%B8%80%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E5%BC%82%E5%B8%B8%EF%BC%8C%E5%A6%82%E8%B6%85%E6%97%B6%EF%BC%8C%E8%BF%9E%E6%8E%A5%E5%BC%82%E5%B8%B8%EF%BC%8C%E7%BD%91%E7%BB%9C%E5%BC%82%E5%B8%B8%E7%AD%89%EF%BC%8C%E5%88%99%E6%A0%B9%E6%8D%AE%E5%AE%B9%E9%94%99%E7%AD%96%E7%95%A5%E8%BF%9B%E8%A1%8C%E6%9C%8D%E5%8A%A1%E5%AE%B9%E9%94%99%E3%80%82%E7%9B%AE%E5%89%8D%E6%94%AF%E6%8C%81%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%AE%B9%E9%94%99%E7%AD%96%E7%95%A5%E6%9C%89%E5%BF%AB%E9%80%9F%E5%A4%B1%E8%B4%A5%EF%BC%8C%E5%A4%B1%E6%95%88%E5%88%87%E6%8D%A2%E3%80%82%E5%A6%82%E6%9E%9C%E8%BF%9E%E7%BB%AD%E5%A4%B1%E8%B4%A5%E5%A4%9A%E6%AC%A1%E5%88%99%E7%9B%B4%E6%8E%A5%E7%86%94%E6%96%AD%EF%BC%8C%E4%B8%8D%E5%86%8D%E5%8F%91%E8%B5%B7%E8%B0%83%E7%94%A8%E3%80%82%E8%BF%99%E6%A0%B7%E5%8F%AF%E4%BB%A5%E9%81%BF%E5%85%8D%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%BC%82%E5%B8%B8%E6%8B%96%E5%9E%AE%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96%E4%BA%8E%E4%BB%96%E7%9A%84%E6%9C%8D%E5%8A%A1%E3%80%82%0A%0A%23%23%23%23%204.1%20%E5%AE%B9%E9%94%99%E7%AD%96%E7%95%A5%0A%23%23%23%23%23%204.1.1%20%E5%BF%AB%E9%80%9F%E5%A4%B1%E8%B4%A5%0A%E6%9C%8D%E5%8A%A1%E5%8F%AA%E5%8F%91%E8%B5%B7%E4%B8%80%E6%AC%A1%E5%BE%85%E7%94%A8%EF%BC%8C%E5%A4%B1%E8%B4%A5%E7%AB%8B%E5%8D%B3%E6%8A%A5%E9%94%99%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E9%9D%9E%E5%B9%82%E7%AD%89%E4%B8%8B%E6%80%A7%E7%9A%84%E5%86%99%E6%93%8D%E4%BD%9C%0A%0A%23%23%23%23%23%204.1.2%20%E5%A4%B1%E6%95%88%E5%88%87%E6%8D%A2%0A%E6%9C%8D%E5%8A%A1%E5%8F%91%E8%B5%B7%E8%B0%83%E7%94%A8%EF%BC%8C%E5%BD%93%E5%87%BA%E7%8E%B0%E5%A4%B1%E8%B4%A5%E5%90%8E%EF%BC%8C%E9%87%8D%E8%AF%95%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%E5%99%A8%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E8%AF%BB%E6%93%8D%E4%BD%9C%EF%BC%8C%E4%BD%86%E9%87%8D%E8%AF%95%E4%BC%9A%E5%B8%A6%E6%9D%A5%E6%9B%B4%E9%95%BF%E6%97%B6%E9%97%B4%E7%9A%84%E5%BB%B6%E8%BF%9F%E3%80%82%E9%87%8D%E8%AF%95%E7%9A%84%E6%AC%A1%E6%95%B0%E9%80%9A%E5%B8%B8%E6%98%AF%E5%8F%AF%E4%BB%A5%E8%AE%BE%E7%BD%AE%E7%9A%84%0A%0A%23%23%23%23%23%204.1.3%20%E5%A4%B1%E8%B4%A5%E5%AE%89%E5%85%A8%0A%E5%A4%B1%E8%B4%A5%E5%AE%89%E5%85%A8%EF%BC%8C%20%E5%BD%93%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E5%87%BA%E7%8E%B0%E5%BC%82%E5%B8%B8%E6%97%B6%EF%BC%8C%E7%9B%B4%E6%8E%A5%E5%BF%BD%E7%95%A5%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E5%86%99%E5%85%A5%E6%97%A5%E5%BF%97%E7%AD%89%E6%93%8D%E4%BD%9C%E3%80%82%0A%0A%23%23%23%23%23%204.1.4%20%E5%A4%B1%E8%B4%A5%E8%87%AA%E5%8A%A8%E6%81%A2%E5%A4%8D%0A%E5%BD%93%E6%9C%8D%E5%8A%A1%E8%B0%83%E7%94%A8%E5%87%BA%E7%8E%B0%E5%BC%82%E5%B8%B8%E6%97%B6%EF%BC%8C%E8%AE%B0%E5%BD%95%E5%A4%B1%E8%B4%A5%E8%AF%B7%E6%B1%82%EF%BC%8C%E5%AE%9A%E6%97%B6%E9%87%8D%E5%8F%91%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E6%B6%88%E6%81%AF%E9%80%9A%E7%9F%A5%E3%80%82%0A%0A%23%23%23%23%23%204.1.5%20forking%20Cluster%0A%E5%B9%B6%E8%A1%8C%E8%B0%83%E7%94%A8%E5%A4%9A%E4%B8%AA%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%8C%E5%8F%AA%E8%A6%81%E6%9C%89%E4%B8%80%E4%B8%AA%E6%88%90%E5%8A%9F%EF%BC%8C%E5%8D%B3%E8%BF%94%E5%9B%9E%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E5%AE%9E%E6%97%B6%E6%80%A7%E8%BE%83%E9%AB%98%E7%9A%84%E8%AF%BB%E6%93%8D%E4%BD%9C%E3%80%82%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87forks%3Dn%E6%9D%A5%E8%AE%BE%E7%BD%AE%E6%9C%80%E5%A4%A7%E5%B9%B6%E8%A1%8C%E6%95%B0%E3%80%82%0A%0A%23%23%23%23%23%204.1.6%20%E5%B9%BF%E6%92%AD%E8%B0%83%E7%94%A8%0A%E5%B9%BF%E6%92%AD%E8%B0%83%E7%94%A8%E6%89%80%E6%9C%89%E6%8F%90%E4%BE%9B%E8%80%85%EF%BC%8C%E9%80%90%E4%B8%AA%E8%B0%83%E7%94%A8%EF%BC%8C%E4%BB%BB%E4%BD%95%E4%B8%80%E5%8F%B0%E5%A4%B1%E8%B4%A5%E5%88%99%E5%A4%B1%E8%B4%A5%E3%80%82%E9%80%9A%E5%B8%B8%E7%94%A8%E4%BA%8E%E9%80%9A%E7%9F%A5%E6%89%80%E6%9C%89%E6%8F%90%E4%BE%9B%E8%80%85%E6%9B%B4%E6%96%B0%E7%BC%93%E5%AD%98%E6%88%96%E6%97%A5%E5%BF%97%E7%AD%89%E6%9C%AC%E5%9C%B0%E8%B5%84%E6%BA%90%E4%BF%A1%E6%81%AF%E3%80%82%0A%0A%23%23%23%205.%20%E7%86%94%E6%96%AD%0A%E7%86%94%E6%96%AD%E6%8A%80%E6%9C%AF%E5%8F%AF%E4%BB%A5%E8%AF%B4%E6%98%AF%E4%B8%80%E7%A7%8D%E2%80%9C%E6%99%BA%E8%83%BD%E5%8C%96%E7%9A%84%E5%AE%B9%E9%94%99%E2%80%9D%EF%BC%8C%E5%BD%93%E8%B0%83%E7%94%A8%E6%BB%A1%E8%B6%B3%E5%A4%B1%E8%B4%A5%E6%AC%A1%E6%95%B0%EF%BC%8C%E5%A4%B1%E8%B4%A5%E6%AF%94%E4%BE%8B%E5%B0%B1%E4%BC%9A%E8%A7%A6%E5%8F%91%E7%86%94%E6%96%AD%E5%99%A8%E6%89%93%E5%BC%80%EF%BC%8C%E6%9C%89%E7%A8%8B%E5%BA%8F%E8%87%AA%E5%8A%A8%E5%88%87%E6%96%AD%E5%BD%93%E5%89%8D%E7%9A%84RPC%E8%B0%83%E7%94%A8%2C%E6%9D%A5%E9%98%B2%E6%AD%A2%E9%94%99%E8%AF%AF%E8%BF%9B%E4%B8%80%E6%AD%A5%E6%89%A9%E5%A4%A7%E3%80%82%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%86%94%E6%96%AD%E5%99%A8%E4%B8%BB%E8%A6%81%E6%98%AF%E8%80%83%E8%99%91%E4%B8%89%E7%A7%8D%E6%A8%A1%E5%BC%8F%EF%BC%8C%E5%85%B3%E9%97%AD%EF%BC%8C%E6%89%93%E5%BC%80%EF%BC%8C%E5%8D%8A%E5%BC%80%E3%80%82%E5%90%84%E4%B8%AA%E7%8A%B6%E6%80%81%E7%9A%84%E8%BD%AC%E6%8D%A2%E5%A6%82%E4%B8%8B%E5%9B%BE%E3%80%82%0A%0A!%5Bad0181a86dd6086381f1031dec4dfff1.png%5D(en-resource%3A%2F%2Fdatabase%2F5615%3A1)%0A%0A%0A%E6%88%91%E4%BB%AC%E5%9C%A8%E5%A4%84%E7%90%86%E5%BC%82%E5%B8%B8%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E8%A6%81%E6%A0%B9%E6%8D%AE%E5%85%B7%E4%BD%93%E7%9A%84%E4%B8%9A%E5%8A%A1%E6%83%85%E5%86%B5%E6%9D%A5%E5%86%B3%E5%AE%9A%E5%A4%84%E7%90%86%E6%96%B9%E5%BC%8F%EF%BC%8C%E6%AF%94%E5%A6%82%E6%88%91%E4%BB%AC%E8%B0%83%E7%94%A8%E5%95%86%E5%93%81%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%AF%B9%E6%96%B9%E5%8F%AA%E6%98%AF%E4%B8%B4%E6%97%B6%E5%81%9A%E4%BA%86%E9%99%8D%E7%BA%A7%E5%A4%84%E7%90%86%EF%BC%8C%E9%82%A3%E4%B9%88%E4%BD%9C%E4%B8%BA%E7%BD%91%E5%85%B3%E8%B0%83%E7%94%A8%E5%B0%B1%E8%A6%81%E5%88%87%E5%88%B0%E5%8F%AF%E6%9B%BF%E6%8D%A2%E7%9A%84%E6%9C%8D%E5%8A%A1%E4%B8%8A%E6%9D%A5%E6%89%A7%E8%A1%8C%E6%88%96%E8%80%85%E8%8E%B7%E5%8F%96%E6%89%98%E5%BA%95%E6%95%B0%E6%8D%AE%EF%BC%8C%E7%BB%99%E7%94%A8%E6%88%B7%E5%8F%8B%E5%A5%BD%E6%8F%90%E7%A4%BA%E3%80%82%E8%BF%98%E6%9C%89%E8%A6%81%E5%8C%BA%E5%88%86%E5%BC%82%E5%B8%B8%E7%9A%84%E7%B1%BB%E5%9E%8B%EF%BC%8C%E6%AF%94%E5%A6%82%E4%BE%9D%E8%B5%96%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%B4%A9%E6%BA%83%E4%BA%86%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%8F%AF%E8%83%BD%E9%9C%80%E8%A6%81%E8%8A%B1%E8%B4%B9%E6%AF%94%E8%BE%83%E4%B9%85%E7%9A%84%E6%97%B6%E9%97%B4%E6%9D%A5%E8%A7%A3%E5%86%B3%E3%80%82%E4%B9%9F%E5%8F%AF%E8%83%BD%E6%98%AF%E7%94%B1%E4%BA%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%B4%9F%E8%BD%BD%E4%B8%B4%E6%97%B6%E8%BF%87%E9%AB%98%E5%AF%BC%E8%87%B4%E8%B6%85%E6%97%B6%E3%80%82%E4%BD%9C%E4%B8%BA%E7%86%94%E6%96%AD%E5%99%A8%E5%BA%94%E8%AF%A5%E8%83%BD%E5%A4%9F%E7%94%84%E5%88%AB%E8%BF%99%E7%A7%8D%E5%BC%82%E5%B8%B8%E7%B1%BB%E5%9E%8B%EF%BC%8C%E4%BB%8E%E8%80%8C%E6%A0%B9%E6%8D%AE%E5%85%B7%E4%BD%93%E7%9A%84%E9%94%99%E8%AF%AF%E7%B1%BB%E5%9E%8B%E8%B0%83%E6%95%B4%E7%86%94%E6%96%AD%E7%AD%96%E7%95%A5%E3%80%82%E5%A2%9E%E5%8A%A0%E6%89%8B%E5%8A%A8%E8%AE%BE%E7%BD%AE%EF%BC%8C%E5%9C%A8%E5%A4%B1%E8%B4%A5%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%81%A2%E5%A4%8D%E6%97%B6%E9%97%B4%E4%B8%8D%E7%A1%AE%E5%AE%9A%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E7%AE%A1%E7%90%86%E5%91%98%E5%8F%AF%E4%BB%A5%E6%89%8B%E5%8A%A8%E5%BC%BA%E5%88%B6%E5%88%87%E6%8D%A2%E7%86%94%E6%96%AD%E7%8A%B6%E6%80%81%E3%80%82%E6%9C%80%E5%90%8E%EF%BC%8C%E7%86%94%E6%96%AD%E5%99%A8%E7%9A%84%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF%E6%98%AF%E8%B0%83%E7%94%A8%E5%8F%AF%E8%83%BD%E5%A4%B1%E8%B4%A5%E7%9A%84%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E7%A8%8B%E5%BA%8F%E6%88%96%E8%80%85%E5%85%B1%E4%BA%AB%E8%B5%84%E6%BA%90%E3%80%82%E5%A6%82%E6%9E%9C%E6%98%AF%E6%9C%AC%E5%9C%B0%E7%BC%93%E5%AD%98%E6%9C%AC%E5%9C%B0%E7%A7%81%E6%9C%89%E8%B5%84%E6%BA%90%EF%BC%8C%E4%BD%BF%E7%94%A8%E7%86%94%E6%96%AD%E5%99%A8%E5%88%99%E4%BC%9A%E5%A2%9E%E5%8A%A0%E7%B3%BB%E7%BB%9F%E7%9A%84%E9%A2%9D%E5%A4%96%E5%BC%80%E9%94%80%E3%80%82%E8%BF%98%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%8C%E7%86%94%E6%96%AD%E5%99%A8%E4%B8%8D%E8%83%BD%E4%BD%9C%E4%B8%BA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%AD%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E7%9A%84%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86%E6%9B%BF%E4%BB%A3%E5%93%81%E3%80%82%0A%0A%E6%9C%89%E4%B8%80%E4%BA%9B%E5%BC%82%E5%B8%B8%E6%AF%94%E8%BE%83%E9%A1%BD%E5%9B%BA%EF%BC%8C%E7%AA%81%E7%84%B6%E5%8F%91%E7%94%9F%EF%BC%8C%E6%97%A0%E6%B3%95%E9%A2%84%E6%B5%8B%EF%BC%8C%E8%80%8C%E4%B8%94%E5%BE%88%E9%9A%BE%E6%81%A2%E5%A4%8D%EF%BC%8C%E5%B9%B6%E4%B8%94%E8%BF%98%E4%BC%9A%E5%AF%BC%E8%87%B4%E7%BA%A7%E8%81%94%E5%A4%B1%E8%B4%A5%EF%BC%88%E4%B8%BE%E4%B8%AA%E4%BE%8B%E5%AD%90%EF%BC%8C%E5%81%87%E8%AE%BE%E4%B8%80%E4%B8%AA%E6%9C%8D%E5%8A%A1%E9%9B%86%E7%BE%A4%E7%9A%84%E8%B4%9F%E8%BD%BD%E9%9D%9E%E5%B8%B8%E9%AB%98%EF%BC%8C%E5%A6%82%E6%9E%9C%E8%BF%99%E6%97%B6%E5%80%99%E9%9B%86%E7%BE%A4%E7%9A%84%E4%B8%80%E9%83%A8%E5%88%86%E6%8C%82%E6%8E%89%E4%BA%86%EF%BC%8C%E8%BF%98%E5%8D%A0%E4%BA%86%E5%BE%88%E5%A4%A7%E4%B8%80%E9%83%A8%E5%88%86%E8%B5%84%E6%BA%90%EF%BC%8C%E6%95%B4%E4%B8%AA%E9%9B%86%E7%BE%A4%E9%83%BD%E6%9C%89%E5%8F%AF%E8%83%BD%E9%81%AD%E6%AE%83%EF%BC%89%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E4%BB%AC%E8%BF%99%E6%97%B6%E8%BF%98%E6%98%AF%E4%B8%8D%E6%96%AD%E8%BF%9B%E8%A1%8C%E9%87%8D%E8%AF%95%E7%9A%84%E8%AF%9D%EF%BC%8C%E7%BB%93%E6%9E%9C%E5%A4%A7%E5%A4%9A%E9%83%BD%E6%98%AF%E5%A4%B1%E8%B4%A5%E7%9A%84%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%AD%A4%E6%97%B6%E6%88%91%E4%BB%AC%E7%9A%84%E5%BA%94%E7%94%A8%E9%9C%80%E8%A6%81%E7%AB%8B%E5%8D%B3%E8%BF%9B%E5%85%A5%E5%A4%B1%E8%B4%A5%E7%8A%B6%E6%80%81(fast-fail)%EF%BC%8C%E5%B9%B6%E9%87%87%E5%8F%96%E5%90%88%E9%80%82%E7%9A%84%E6%96%B9%E6%B3%95%E8%BF%9B%E8%A1%8C%E6%81%A2%E5%A4%8D%E3%80%82%0A%0A%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E7%94%A8%E7%8A%B6%E6%80%81%E6%9C%BA%E6%9D%A5%E5%AE%9E%E7%8E%B0CircuitBreaker%EF%BC%8C%E5%AE%83%E6%9C%89%E4%BB%A5%E4%B8%8B%E4%B8%89%E7%A7%8D%E7%8A%B6%E6%80%81%EF%BC%9A%0A%0A%20%E5%85%B3%E9%97%AD(%20Closed%20)%EF%BC%9A%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8BCircuit%20Breaker%E6%98%AF%E5%85%B3%E9%97%AD%E7%9A%84%EF%BC%8C%E6%AD%A4%E6%97%B6%E5%85%81%E8%AE%B8%E6%93%8D%E4%BD%9C%E6%89%A7%E8%A1%8C%E3%80%82CircuitBreaker%E5%86%85%E9%83%A8%E8%AE%B0%E5%BD%95%E7%9D%80%E6%9C%80%E8%BF%91%E5%A4%B1%E8%B4%A5%E7%9A%84%E6%AC%A1%E6%95%B0%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AF%B9%E5%BA%94%E7%9A%84%E6%93%8D%E4%BD%9C%E6%89%A7%E8%A1%8C%E5%A4%B1%E8%B4%A5%EF%BC%8C%E6%AC%A1%E6%95%B0%E5%B0%B1%E4%BC%9A%E7%BB%AD%E4%B8%80%E6%AC%A1%E3%80%82%E5%A6%82%E6%9E%9C%E5%9C%A8%E6%9F%90%E4%B8%AA%E6%97%B6%E9%97%B4%E6%AE%B5%E5%86%85%EF%BC%8C%E5%A4%B1%E8%B4%A5%E6%AC%A1%E6%95%B0%EF%BC%88%E6%88%96%E8%80%85%E5%A4%B1%E8%B4%A5%E6%AF%94%E7%8E%87%EF%BC%89%E8%BE%BE%E5%88%B0%E9%98%88%E5%80%BC%EF%BC%8CCircuitBreaker%E4%BC%9A%E8%BD%AC%E6%8D%A2%E5%88%B0%E5%BC%80%E5%90%AF(%20Open%20)%E7%8A%B6%E6%80%81%E3%80%82%E5%9C%A8%E5%BC%80%E5%90%AF%E7%8A%B6%E6%80%81%E4%B8%AD%EF%BC%8CCircuit%20Breaker%E4%BC%9A%E5%90%AF%E7%94%A8%E4%B8%80%E4%B8%AA%E8%B6%85%E6%97%B6%E8%AE%A1%E6%97%B6%E5%99%A8%EF%BC%8C%E8%AE%BE%E8%BF%99%E4%B8%AA%E8%AE%A1%E6%97%B6%E5%99%A8%E7%9A%84%E7%9B%AE%E7%9A%84%E6%98%AF%E7%BB%99%E9%9B%86%E7%BE%A4%E7%9B%B8%E5%BA%94%E7%9A%84%E6%97%B6%E9%97%B4%E6%9D%A5%E6%81%A2%E5%A4%8D%E6%95%85%E9%9A%9C%E3%80%82%E5%BD%93%E8%AE%A1%E6%97%B6%E5%99%A8%E6%97%B6%E9%97%B4%E5%88%B0%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8CCircuitBreaker%E4%BC%9A%E8%BD%AC%E6%8D%A2%E5%88%B0%E5%8D%8A%E5%BC%80%E5%90%AF(%20Half-Open%20)%E7%8A%B6%E6%80%81%E3%80%82%0A%20%E5%BC%80%E5%90%AF(%20Open%20)%EF%BC%9A%E5%9C%A8%E6%AD%A4%E7%8A%B6%E6%80%81%E4%B8%8B%EF%BC%8C%E6%89%A7%E8%A1%8C%E5%AF%B9%E5%BA%94%E7%9A%84%E6%93%8D%E4%BD%9C%E5%B0%86%E4%BC%9A%E7%AB%8B%E5%8D%B3%E5%A4%B1%E8%B4%A5%E5%B9%B6%E4%B8%94%E7%AB%8B%E5%8D%B3%E6%8A%9B%E5%87%BA%E5%BC%82%E5%B8%B8%E3%80%82%0A%20%E5%8D%8A%E5%BC%80%E5%90%AF(%20Half-Open%20)%EF%BC%9A%E5%9C%A8%E6%AD%A4%E7%8A%B6%E6%80%81%E4%B8%8B%EF%BC%8CCircuit%20Breaker%E4%BC%9A%E5%85%81%E8%AE%B8%E6%89%A7%E8%A1%8C%E4%B8%80%E5%AE%9A%E6%95%B0%E9%87%8F%E7%9A%84%E6%93%8D%E4%BD%9C%E3%80%82%E5%A6%82%E6%9E%9C%E6%89%80%E6%9C%89%E6%93%8D%E4%BD%9C%E5%85%A8%E9%83%A8%E6%88%90%E5%8A%9F%EF%BC%8CCircuitBreaker%E5%B0%B1%E4%BC%9A%E5%81%87%E5%AE%9A%E6%95%85%E9%9A%9C%E5%B7%B2%E7%BB%8F%E6%81%A2%E5%A4%8D%EF%BC%8C%E5%AE%83%E5%B0%B1%E4%BC%9A%E8%BD%AC%E6%8D%A2%E5%88%B0%E5%85%B3%E9%97%AD%E7%8A%B6%E6%80%81%EF%BC%8C%E5%B9%B6%E4%B8%94%E9%87%8D%E7%BD%AE%E5%A4%B1%E8%B4%A5%E6%AC%A1%E6%95%B0%E3%80%82%E5%A6%82%E6%9E%9C%E5%85%B6%E4%B8%AD%20%E4%BB%BB%E6%84%8F%E4%B8%80%E6%AC%A1%20%E6%93%8D%E4%BD%9C%E5%A4%B1%E8%B4%A5%E4%BA%86%EF%BC%8CCircuit%20Breaker%E5%B0%B1%E4%BC%9A%E8%AE%A4%E4%B8%BA%E6%95%85%E9%9A%9C%E4%BB%8D%E7%84%B6%E5%AD%98%E5%9C%A8%EF%BC%8C%E6%89%80%E4%BB%A5%E5%AE%83%E4%BC%9A%E8%BD%AC%E6%8D%A2%E5%88%B0%E5%BC%80%E5%90%AF%E7%8A%B6%E6%80%81%E5%B9%B6%E5%86%8D%E6%AC%A1%E5%BC%80%E5%90%AF%E8%AE%A1%E6%97%B6%E5%99%A8%EF%BC%88%E5%86%8D%E7%BB%99%E7%B3%BB%E7%BB%9F%E4%B8%80%E4%BA%9B%E6%97%B6%E9%97%B4%E4%BD%BF%E5%85%B6%E4%BB%8E%E5%A4%B1%E8%B4%A5%E4%B8%AD%E6%81%A2%E5%A4%8D%EF%BC%89%0A%0A%23%23%23%206.%20%E9%99%90%E6%B5%81%E5%92%8C%E9%99%8D%E7%BA%A7%0A%E2%80%8B%20%E4%BF%9D%E8%AF%81%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E7%9A%84%E7%A8%B3%E5%AE%9A%E6%80%A7%E3%80%82%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E7%9A%84%E7%A8%B3%E5%AE%9A%E6%80%A7%EF%BC%8C%E9%9A%8F%E7%9D%80%E8%AE%BF%E9%97%AE%E9%87%8F%E7%9A%84%E4%B8%8D%E6%96%AD%E5%A2%9E%E5%8A%A0%EF%BC%8C%E9%9C%80%E8%A6%81%E4%B8%BA%E7%B3%BB%E7%BB%9F%E8%83%BD%E5%A4%9F%E5%A4%84%E7%90%86%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%95%B0%E9%87%8F%E8%AE%BE%E7%BD%AE%E4%B8%80%E4%B8%AA%E6%9E%81%E9%99%90%E9%98%80%E5%80%BC%EF%BC%8C%E8%B6%85%E8%BF%87%E8%BF%99%E4%B8%AA%E9%98%80%E5%80%BC%E7%9A%84%E8%AF%B7%E6%B1%82%E5%88%99%E7%9B%B4%E6%8E%A5%E6%8B%92%E7%BB%9D%E3%80%82%E5%90%8C%E6%97%B6%EF%BC%8C%E4%B8%BA%E4%BA%86%E4%BF%9D%E8%AF%81%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%8F%AF%E7%94%A8%EF%BC%8C%E5%8F%AF%E4%BB%A5%E5%AF%B9%E5%90%A6%E4%BA%9B%E9%9D%9E%E6%A0%B8%E5%BF%83%E6%9C%8D%E5%8A%A1%E8%BF%9B%E8%A1%8C%E9%99%8D%E7%BA%A7%EF%BC%8C%E9%80%9A%E8%BF%87%E9%99%90%E5%88%B6%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%9C%80%E5%A4%A7%E8%AE%BF%E9%97%AE%E9%87%8F%E8%BF%9B%E8%A1%8C%E9%99%90%E6%B5%81%EF%BC%8C%E9%80%9A%E8%BF%87%E7%AE%A1%E7%90%86%E6%8E%A7%E5%88%B6%E5%8F%B0%E5%AF%B9%E5%8D%95%E4%B8%AA%E5%BE%AE%E6%9C%8D%E5%8A%A1%E8%BF%9B%E8%A1%8C%E4%BA%BA%E5%B7%A5%E9%99%8D%E7%BA%A7%0A%0A%23%23%23%207.%20SLA%0ASLA%EF%BC%9AService-LevelAgreement%E7%9A%84%E7%BC%A9%E5%86%99%EF%BC%8C%E6%84%8F%E6%80%9D%E6%98%AF%E6%9C%8D%E5%8A%A1%E7%AD%89%E7%BA%A7%E5%8D%8F%E8%AE%AE%E3%80%82%20%E6%98%AF%E5%85%B3%E4%BA%8E%E7%BD%91%E7%BB%9C%E6%9C%8D%E5%8A%A1%E4%BE%9B%E5%BA%94%E5%95%86%E5%92%8C%E5%AE%A2%E6%88%B7%E9%97%B4%E7%9A%84%E4%B8%80%E4%BB%BD%E5%90%88%E5%90%8C%EF%BC%8C%E5%85%B6%E4%B8%AD%E5%AE%9A%E4%B9%89%E4%BA%86%E6%9C%8D%E5%8A%A1%E7%B1%BB%E5%9E%8B%E3%80%81%E6%9C%8D%E5%8A%A1%E8%B4%A8%E9%87%8F%E5%92%8C%E5%AE%A2%E6%88%B7%E4%BB%98%E6%AC%BE%E7%AD%89%E6%9C%AF%E8%AF%AD%E3%80%82%20%E5%85%B8%E5%9E%8B%E7%9A%84SLA%E5%8C%85%E6%8B%AC%E4%BB%A5%E4%B8%8B%E9%A1%B9%E7%9B%AE%EF%BC%9A%0A%0A%20%E5%88%86%E9%85%8D%E7%BB%99%E5%AE%A2%E6%88%B7%E7%9A%84%E6%9C%80%E5%B0%8F%E5%B8%A6%E5%AE%BD%EF%BC%9B%0A%20%E5%AE%A2%E6%88%B7%E5%B8%A6%E5%AE%BD%E6%9E%81%E9%99%90%EF%BC%9B%0A%20%E8%83%BD%E5%90%8C%E6%97%B6%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%AE%A2%E6%88%B7%E6%95%B0%E7%9B%AE%EF%BC%9B%0A%20%E5%9C%A8%E5%8F%AF%E8%83%BD%E5%BD%B1%E5%93%8D%E7%94%A8%E6%88%B7%E8%A1%8C%E4%B8%BA%E7%9A%84%E7%BD%91%E7%BB%9C%E5%8F%98%E5%8C%96%E4%B9%8B%E5%89%8D%E7%9A%84%E9%80%9A%E7%9F%A5%E5%AE%89%E6%8E%92%EF%BC%9B%0A%20%E6%8B%A8%E5%85%A5%E8%AE%BF%E9%97%AE%E5%8F%AF%E7%94%A8%E6%80%A7%EF%BC%9B%0A%20%E8%BF%90%E7%94%A8%E7%BB%9F%E8%AE%A1%E5%AD%A6%EF%BC%9B%0A%20%E6%9C%8D%E5%8A%A1%E4%BE%9B%E5%BA%94%E5%95%86%E6%94%AF%E6%8C%81%E7%9A%84%E6%9C%80%E5%B0%8F%E7%BD%91%E7%BB%9C%E5%88%A9%E7%94%A8%E6%80%A7%E8%83%BD%EF%BC%8C%E5%A6%8299.9%25%E6%9C%89%E6%95%88%E5%B7%A5%E4%BD%9C%E6%97%B6%E9%97%B4%E6%88%96%E6%AF%8F%E5%A4%A9%E6%9C%80%E5%A4%9A%E4%B8%BA1%E5%88%86%E9%92%9F%E7%9A%84%E5%81%9C%E6%9C%BA%E6%97%B6%E9%97%B4%EF%BC%9B%0A%20%E5%90%84%E7%B1%BB%E5%AE%A2%E6%88%B7%E7%9A%84%E6%B5%81%E9%87%8F%E4%BC%98%E5%85%88%E6%9D%83%EF%BC%9B%0A%20%E5%AE%A2%E6%88%B7%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81%E5%92%8C%E6%9C%8D%E5%8A%A1%EF%BC%9B%0A%20%E6%83%A9%E7%BD%9A%E8%A7%84%E5%AE%9A%EF%BC%8C%E4%B8%BA%E6%9C%8D%E5%8A%A1%E4%BE%9B%E5%BA%94%E5%95%86%E4%B8%8D%E8%83%BD%E6%BB%A1%E8%B6%B3%20SLA%E9%9C%80%E6%B1%82%E6%89%80%E6%8C%87%E5%AE%9A%E3%80%82%0A%0A%0A%23%23%23%208.%20API%E7%BD%91%E5%85%B3%0A%E8%BF%99%E9%87%8C%E8%AF%B4%E7%9A%84%E7%BD%91%E5%85%B3%E6%98%AF%E6%8C%87API%E7%BD%91%E5%85%B3%EF%BC%8C%E7%9B%B4%E9%9D%A2%E6%84%8F%E6%80%9D%E6%98%AF%E5%B0%86%E6%89%80%E6%9C%89API%E8%B0%83%E7%94%A8%E7%BB%9F%E4%B8%80%E6%8E%A5%E5%85%A5%E5%88%B0API%E7%BD%91%E5%85%B3%E5%B1%82%EF%BC%8C%E6%9C%89%E7%BD%91%E5%85%B3%E5%B1%82%E7%BB%9F%E4%B8%80%E6%8E%A5%E5%85%A5%E5%92%8C%E8%BE%93%E5%87%BA%E3%80%82%E4%B8%80%E4%B8%AA%E7%BD%91%E5%85%B3%E7%9A%84%E5%9F%BA%E6%9C%AC%E5%8A%9F%E8%83%BD%E6%9C%89%EF%BC%9A%E7%BB%9F%E4%B8%80%E6%8E%A5%E5%85%A5%E3%80%81%E5%AE%89%E5%85%A8%E9%98%B2%E6%8A%A4%E3%80%81%E5%8D%8F%E8%AE%AE%E9%80%82%E9%85%8D%E3%80%81%E6%B5%81%E9%87%8F%E7%AE%A1%E6%8E%A7%E3%80%81%E9%95%BF%E7%9F%AD%E9%93%BE%E6%8E%A5%E6%94%AF%E6%8C%81%E3%80%81%E5%AE%B9%E9%94%99%E8%83%BD%E5%8A%9B%E3%80%82%E6%9C%89%E4%BA%86%E7%BD%91%E5%85%B3%E4%B9%8B%E5%90%8E%EF%BC%8C%E5%90%84%E4%B8%AAAPI%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E5%9B%A2%E9%98%9F%E5%8F%AF%E4%BB%A5%E4%B8%93%E6%B3%A8%E4%BA%8E%E8%87%AA%E5%B7%B1%E7%9A%84%E7%9A%84%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E5%A4%84%E7%90%86%EF%BC%8C%E8%80%8CAPI%E7%BD%91%E5%85%B3%E6%9B%B4%E4%B8%93%E6%B3%A8%E4%BA%8E%E5%AE%89%E5%85%A8%E3%80%81%E6%B5%81%E9%87%8F%E3%80%81%E8%B7%AF%E7%94%B1%E7%AD%89%E9%97%AE%E9%A2%98%E3%80%82%0A%0A%23%23%23%209.%20%E5%A4%9A%E7%BA%A7%E7%BC%93%E5%AD%98%0A%E2%80%8B%20%E6%9C%80%E7%AE%80%E5%8D%95%E7%9A%84%E7%BC%93%E5%AD%98%E5%B0%B1%E6%98%AF%E6%9F%A5%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E7%84%B6%E5%90%8E%E5%B0%86%E6%95%B0%E6%8D%AE%E5%86%99%E5%85%A5%E7%BC%93%E5%AD%98%E6%AF%94%E5%A6%82redis%E4%B8%AD%E5%B9%B6%E8%AE%BE%E7%BD%AE%E8%BF%87%E6%9C%9F%E6%97%B6%E9%97%B4%E3%80%82%E5%9B%A0%E4%B8%BA%E6%9C%89%E8%BF%87%E6%9C%9F%E5%A4%B1%E6%95%88%E5%9B%A0%E6%AD%A4%E6%88%91%E4%BB%AC%E8%A6%81%E5%85%B3%E6%B3%A8%E4%B8%8B%E7%BC%93%E5%AD%98%E7%9A%84%E7%A9%BF%E9%80%8F%E7%8E%87%EF%BC%8C%E8%BF%99%E4%B8%AA%E7%A9%BF%E9%80%8F%E7%8E%87%E7%9A%84%E8%AE%A1%E7%AE%97%E5%85%AC%E5%BC%8F%EF%BC%8C%E6%AF%94%E5%A6%82%E6%9F%A5%E8%AF%A2%E6%96%B9%E6%B3%95queryOrder(%E8%B0%83%E7%94%A8%E6%AC%A1%E6%95%B01000%2F1s)%E9%87%8C%E9%9D%A2%E5%B5%8C%E5%A5%97%E6%9F%A5%E8%AF%A2DB%E6%96%B9%E6%B3%95queryProductFromDb(%E8%B0%83%E7%94%A8%E6%AC%A1%E6%95%B0300%2Fs)%EF%BC%8C%E9%82%A3%E4%B9%88redis%E7%9A%84%E7%A9%BF%E9%80%8F%E7%8E%87%E5%B0%B1%E6%98%AF300%2F1000%2C%E5%9C%A8%E8%BF%99%E7%A7%8D%E4%BD%BF%E7%94%A8%E7%BC%93%E5%AD%98%E7%9A%84%E6%96%B9%E5%BC%8F%E4%B8%8B%EF%BC%8C%E6%98%AF%E8%A6%81%E9%87%8D%E8%A7%86%E7%A9%BF%E9%80%8F%E7%8E%87%E7%9A%84%EF%BC%8C%E7%A9%BF%E9%80%8F%E7%8E%87%E5%A4%A7%E4%BA%86%E8%AF%B4%E6%98%8E%E7%BC%93%E5%AD%98%E7%9A%84%E6%95%88%E6%9E%9C%E4%B8%8D%E5%A5%BD%E3%80%82%E8%BF%98%E6%9C%89%E4%B8%80%E7%A7%8D%E4%BD%BF%E7%94%A8%E7%BC%93%E5%AD%98%E7%9A%84%E6%96%B9%E5%BC%8F%E5%B0%B1%E6%98%AF%E5%B0%86%E7%BC%93%E5%AD%98%E6%8C%81%E4%B9%85%E5%8C%96%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E4%B8%8D%E8%AE%BE%E7%BD%AE%E8%BF%87%E6%9C%9F%E6%97%B6%E9%97%B4%EF%BC%8C%E8%BF%99%E4%B8%AA%E5%B0%B1%E4%BC%9A%E9%9D%A2%E4%B8%B4%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E6%9B%B4%E6%96%B0%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%E4%B8%80%E8%88%AC%E6%9C%89%E4%B8%A4%E7%A7%8D%E5%8A%9E%E6%B3%95%EF%BC%8C%E4%B8%80%E4%B8%AA%E6%98%AF%E5%88%A9%E7%94%A8%E6%97%B6%E9%97%B4%E6%88%B3%EF%BC%8C%E6%9F%A5%E8%AF%A2%E9%BB%98%E8%AE%A4%E4%BB%A5redis%E4%B8%BA%E4%B8%BB%EF%BC%8C%E6%AF%8F%E6%AC%A1%E8%AE%BE%E7%BD%AE%E6%95%B0%E6%8D%AE%E7%9A%84%E6%97%B6%E5%80%99%E6%94%BE%E5%85%A5%E4%B8%80%E4%B8%AA%E6%97%B6%E9%97%B4%E6%88%B3%EF%BC%8C%E6%AF%8F%E6%AC%A1%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE%E7%9A%84%E6%97%B6%E5%80%99%E7%94%A8%E7%B3%BB%E7%BB%9F%E5%BD%93%E5%89%8D%E6%97%B6%E9%97%B4%E5%92%8C%E4%B8%8A%E6%AC%A1%E8%AE%BE%E7%BD%AE%E7%9A%84%E8%BF%99%E4%B8%AA%E6%97%B6%E9%97%B4%E6%88%B3%E5%81%9A%E5%AF%B9%E6%AF%94%EF%BC%8C%E6%AF%94%E5%A6%82%E8%B6%85%E8%BF%875%E5%88%86%E9%92%9F%EF%BC%8C%E9%82%A3%E4%B9%88%E5%B0%B1%E5%86%8D%E6%9F%A5%E4%B8%80%E6%AC%A1%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%E8%BF%99%E6%A0%B7%E5%8F%AF%E4%BB%A5%E4%BF%9D%E8%AF%81redis%E9%87%8C%E9%9D%A2%E6%B0%B8%E8%BF%9C%E6%9C%89%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%B8%80%E8%88%AC%E6%98%AF%E5%AF%B9DB%E7%9A%84%E4%B8%80%E7%A7%8D%E5%AE%B9%E9%94%99%E6%96%B9%E6%B3%95%E3%80%82%E8%BF%98%E6%9C%89%E4%B8%80%E4%B8%AA%E5%B0%B1%E6%98%AF%E7%9C%9F%E6%AD%A3%E7%9A%84%E8%AE%A9redis%E5%81%9A%E4%B8%BADB%E4%BD%BF%E7%94%A8%E3%80%82%E5%B0%B1%E6%98%AF%E5%9B%BE%E9%87%8C%E9%9D%A2%E7%94%BB%E7%9A%84%E9%80%9A%E8%BF%87%E8%AE%A2%E9%98%85%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84binlog%E9%80%9A%E8%BF%87%E6%95%B0%E6%8D%AE%E5%BC%82%E6%9E%84%E7%B3%BB%E7%BB%9F%E5%B0%86%E6%95%B0%E6%8D%AE%E6%8E%A8%E9%80%81%E7%BB%99%E7%BC%93%E5%AD%98%EF%BC%8C%E5%90%8C%E6%97%B6%E5%B0%86%E5%B0%86%E7%BC%93%E5%AD%98%E8%AE%BE%E7%BD%AE%E4%B8%BA%E5%A4%9A%E7%BA%A7%E3%80%82%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%E4%BD%BF%E7%94%A8jvmcache%E4%BD%9C%E4%B8%BA%E5%BA%94%E7%94%A8%E5%86%85%E7%9A%84%E4%B8%80%E7%BA%A7%E7%BC%93%E5%AD%98%EF%BC%8C%E4%B8%80%E8%88%AC%E6%98%AF%E4%BD%93%E7%A7%AF%E5%B0%8F%EF%BC%8C%E8%AE%BF%E9%97%AE%E9%A2%91%E7%8E%87%E5%A4%A7%E7%9A%84%E6%9B%B4%E9%80%82%E5%90%88%E8%BF%99%E7%A7%8Djvmcache%E6%96%B9%E5%BC%8F%EF%BC%8C%E5%B0%86%E4%B8%80%E5%A5%97redis%E4%BD%9C%E4%B8%BA%E4%BA%8C%E7%BA%A7remote%E7%BC%93%E5%AD%98%EF%BC%8C%E5%8F%A6%E5%A4%96%E6%9C%80%E5%A4%96%E5%B1%82%E4%B8%89%E7%BA%A7redis%E4%BD%9C%E4%B8%BA%E6%8C%81%E4%B9%85%E5%8C%96%E7%BC%93%E5%AD%98%E3%80%82%0A%0A%23%23%23%2010.%20%E8%B6%85%E6%97%B6%E5%92%8C%E9%87%8D%E8%AF%95%0A%E2%80%8B%20%E8%B6%85%E6%97%B6%E4%B8%8E%E9%87%8D%E8%AF%95%E6%9C%BA%E5%88%B6%E4%B9%9F%E6%98%AF%E5%AE%B9%E9%94%99%E7%9A%84%E4%B8%80%E7%A7%8D%E6%96%B9%E6%B3%95%EF%BC%8C%E5%87%A1%E6%98%AF%E5%8F%91%E7%94%9FRPC%E8%B0%83%E7%94%A8%E7%9A%84%E5%9C%B0%E6%96%B9%EF%BC%8C%E6%AF%94%E5%A6%82%E8%AF%BB%E5%8F%96redis%EF%BC%8Cdb%EF%BC%8Cmq%E7%AD%89%EF%BC%8C%E5%9B%A0%E4%B8%BA%E7%BD%91%E7%BB%9C%E6%95%85%E9%9A%9C%E6%88%96%E8%80%85%E6%98%AF%E6%89%80%E4%BE%9D%E8%B5%96%E7%9A%84%E6%9C%8D%E5%8A%A1%E6%95%85%E9%9A%9C%EF%BC%8C%E9%95%BF%E6%97%B6%E9%97%B4%E4%B8%8D%E8%83%BD%E8%BF%94%E5%9B%9E%E7%BB%93%E6%9E%9C%EF%BC%8C%E5%B0%B1%E4%BC%9A%E5%AF%BC%E8%87%B4%E7%BA%BF%E7%A8%8B%E5%A2%9E%E5%8A%A0%EF%BC%8C%E5%8A%A0%E5%A4%A7cpu%E8%B4%9F%E8%BD%BD%EF%BC%8C%E7%94%9A%E8%87%B3%E5%AF%BC%E8%87%B4%E9%9B%AA%E5%B4%A9%E3%80%82%E6%89%80%E4%BB%A5%E5%AF%B9%E6%AF%8F%E4%B8%80%E4%B8%AARPC%E8%B0%83%E7%94%A8%E9%83%BD%E8%A6%81%E8%AE%BE%E7%BD%AE%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4%E3%80%82%E5%AF%B9%E4%BA%8E%E5%BC%BA%E4%BE%9D%E8%B5%96RPC%E8%B0%83%E7%94%A8%E8%B5%84%E6%BA%90%E7%9A%84%E6%83%85%E5%86%B5%EF%BC%8C%E8%BF%98%E8%A6%81%E6%9C%89%E9%87%8D%E8%AF%95%E6%9C%BA%E5%88%B6%EF%BC%8C%E4%BD%86%E6%98%AF%E9%87%8D%E8%AF%95%E7%9A%84%E6%AC%A1%E6%95%B0%E5%BB%BA%E8%AE%AE1-2%E6%AC%A1%EF%BC%8C%E5%8F%A6%E5%A4%96%E5%A6%82%E6%9E%9C%E6%9C%89%E9%87%8D%E8%AF%95%EF%BC%8C%E9%82%A3%E4%B9%88%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4%E5%B0%B1%E8%A6%81%E7%9B%B8%E5%BA%94%E7%9A%84%E8%B0%83%E5%B0%8F%EF%BC%8C%E6%AF%94%E5%A6%82%E9%87%8D%E8%AF%951%E6%AC%A1%EF%BC%8C%E9%82%A3%E4%B9%88%E4%B8%80%E5%85%B1%E6%98%AF%E5%8F%91%E7%94%9F2%E6%AC%A1%E8%B0%83%E7%94%A8%E3%80%82%E5%A6%82%E6%9E%9C%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4%E9%85%8D%E7%BD%AE%E7%9A%84%E6%98%AF2s%EF%BC%8C%E9%82%A3%E4%B9%88%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%B0%B1%E8%A6%81%E7%AD%89%E5%BE%854s%E6%89%8D%E8%83%BD%E8%BF%94%E5%9B%9E%E3%80%82%E5%9B%A0%E6%AD%A4%E9%87%8D%E8%AF%95%2B%E8%B6%85%E6%97%B6%E7%9A%84%E6%96%B9%E5%BC%8F%EF%BC%8C%E8%B6%85%E6%97%B6%E6%97%B6%E9%97%B4%E8%A6%81%E8%B0%83%E5%B0%8F%E3%80%82%E8%BF%99%E9%87%8C%E4%B9%9F%E5%86%8D%E8%B0%88%E4%B8%80%E4%B8%8B%E4%B8%80%E6%AC%A1PRC%E8%B0%83%E7%94%A8%E7%9A%84%E6%97%B6%E9%97%B4%E9%83%BD%E6%B6%88%E8%80%97%E5%9C%A8%E5%93%AA%E4%BA%9B%E7%8E%AF%E8%8A%82%EF%BC%8C%E4%B8%80%E6%AC%A1%E6%AD%A3%E5%B8%B8%E7%9A%84%E8%B0%83%E7%94%A8%E7%BB%9F%E8%AE%A1%E7%9A%84%E8%80%97%E6%97%B6%E4%B8%BB%E8%A6%81%E5%8C%85%E6%8B%AC%EF%BC%9A%20%E2%91%A0%E8%B0%83%E7%94%A8%E7%AB%AFRPC%E6%A1%86%E6%9E%B6%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%20%2B%20%E2%91%A1%E7%BD%91%E7%BB%9C%E5%8F%91%E9%80%81%E6%97%B6%E9%97%B4%20%2B%20%E2%91%A2%E6%9C%8D%E5%8A%A1%E7%AB%AFRPC%E6%A1%86%E6%9E%B6%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%20%2B%20%E2%91%A3%E6%9C%8D%E5%8A%A1%E7%AB%AF%E4%B8%9A%E5%8A%A1%E4%BB%A3%E7%A0%81%E6%97%B6%E9%97%B4%E3%80%82%E8%B0%83%E7%94%A8%E6%96%B9%E5%92%8C%E6%9C%8D%E5%8A%A1%E6%96%B9%E9%83%BD%E6%9C%89%E5%90%84%E8%87%AA%E7%9A%84%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7%EF%BC%8C%E6%AF%94%E5%A6%82%E8%B0%83%E7%94%A8%E6%96%B9tp99%E6%98%AF500ms%EF%BC%8C%E6%9C%8D%E5%8A%A1%E6%96%B9tp99%E6%98%AF100ms%EF%BC%8C%E6%89%BE%E4%BA%86%E7%BD%91%E7%BB%9C%E7%BB%84%E7%9A%84%E5%90%8C%E4%BA%8B%E7%A1%AE%E8%AE%A4%E7%BD%91%E7%BB%9C%E6%B2%A1%E6%9C%89%E9%97%AE%E9%A2%98%E3%80%82%E9%82%A3%E4%B9%88%E6%97%B6%E9%97%B4%E9%83%BD%E8%8A%B1%E5%9C%A8%E4%BB%80%E4%B9%88%E5%9C%B0%E6%96%B9%E4%BA%86%E5%91%A2%EF%BC%8C%E4%B8%A4%E7%A7%8D%E5%8E%9F%E5%9B%A0%EF%BC%8C%E5%AE%A2%E6%88%B7%E7%AB%AF%E8%B0%83%E7%94%A8%E6%96%B9%EF%BC%8C%E8%BF%98%E6%9C%89%E4%B8%80%E4%B8%AA%E5%8E%9F%E5%9B%A0%E6%98%AF%E7%BD%91%E7%BB%9C%E5%8F%91%E7%94%9FTCP%E9%87%8D%E4%BC%A0%E3%80%82%E6%89%80%E4%BB%A5%E8%A6%81%E6%B3%A8%E6%84%8F%E8%BF%99%E4%B8%A4%E7%82%B9%E3%80%82%0A%0A%23%23%23%2011.%20%E7%BA%BF%E7%A8%8B%E6%B1%A0%E9%9A%94%E7%A6%BB%0A%E2%80%8B%20%E5%9C%A8%E6%8A%97%E9%87%8F%E8%BF%99%E4%B8%AA%E7%8E%AF%E8%8A%82%EF%BC%8CServlet3%E5%BC%82%E6%AD%A5%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E6%9C%89%E6%8F%90%E5%88%B0%E8%BF%87%E7%BA%BF%E7%A8%8B%E9%9A%94%E7%A6%BB%E3%80%82%E7%BA%BF%E7%A8%8B%E9%9A%94%E7%A6%BB%E7%9A%84%E4%B9%8B%E9%97%B4%E4%BC%98%E5%8A%BF%E5%B0%B1%E6%98%AF%E9%98%B2%E6%AD%A2%E7%BA%A7%E8%81%94%E6%95%85%E9%9A%9C%EF%BC%8C%E7%94%9A%E8%87%B3%E6%98%AF%E9%9B%AA%E5%B4%A9%E3%80%82%E5%BD%93%E7%BD%91%E5%85%B3%E8%B0%83%E7%94%A8N%E5%A4%9A%E4%B8%AA%E6%8E%A5%E5%8F%A3%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%97%B6%E5%80%99%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%AF%B9%E6%AF%8F%E4%B8%AA%E6%8E%A5%E5%8F%A3%E8%BF%9B%E8%A1%8C%E7%BA%BF%E7%A8%8B%E9%9A%94%E7%A6%BB%E3%80%82%E6%AF%94%E5%A6%82%EF%BC%8C%E6%88%91%E4%BB%AC%E6%9C%89%E8%B0%83%E7%94%A8%E8%AE%A2%E5%8D%95%E3%80%81%E5%95%86%E5%93%81%E3%80%81%E7%94%A8%E6%88%B7%E3%80%82%E9%82%A3%E4%B9%88%E8%AE%A2%E5%8D%95%E7%9A%84%E4%B8%9A%E5%8A%A1%E4%B8%8D%E8%83%BD%E5%A4%9F%E5%BD%B1%E5%93%8D%E5%88%B0%E5%95%86%E5%93%81%E5%92%8C%E7%94%A8%E6%88%B7%E7%9A%84%E8%AF%B7%E6%B1%82%E5%A4%84%E7%90%86%E3%80%82%E5%A6%82%E6%9E%9C%E4%B8%8D%E5%81%9A%E7%BA%BF%E7%A8%8B%E9%9A%94%E7%A6%BB%EF%BC%8C%E5%BD%93%E8%AE%BF%E9%97%AE%E8%AE%A2%E5%8D%95%E6%9C%8D%E5%8A%A1%E5%87%BA%E7%8E%B0%E7%BD%91%E7%BB%9C%E6%95%85%E9%9A%9C%E5%AF%BC%E8%87%B4%E5%BB%B6%E6%97%B6%EF%BC%8C%E7%BA%BF%E7%A8%8B%E7%A7%AF%E5%8E%8B%E6%9C%80%E7%BB%88%E5%AF%BC%E8%87%B4%E6%95%B4%E4%B8%AA%E6%9C%8D%E5%8A%A1CPU%E8%B4%9F%E8%BD%BD%E6%BB%A1%E3%80%82%E5%B0%B1%E6%98%AF%E6%88%91%E4%BB%AC%E8%AF%B4%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%85%A8%E9%83%A8%E4%B8%8D%E5%8F%AF%E7%94%A8%E4%BA%86%EF%BC%8C%E6%9C%89%E5%A4%9A%E5%B0%91%E6%9C%BA%E5%99%A8%E9%83%BD%E4%BC%9A%E8%A2%AB%E6%AD%A4%E5%88%BB%E7%9A%84%E8%AF%B7%E6%B1%82%E5%A1%9E%E6%BB%A1%E3%80%82%E9%82%A3%E4%B9%88%E6%9C%89%E4%BA%86%E7%BA%BF%E7%A8%8B%E9%9A%94%E7%A6%BB%E5%B0%B1%E4%BC%9A%E4%BD%BF%E5%BE%97%E6%88%91%E4%BB%AC%E7%9A%84%E7%BD%91%E5%85%B3%E8%83%BD%E4%BF%9D%E8%AF%81%E5%B1%80%E9%83%A8%E9%97%AE%E9%A2%98%E4%B8%8D%E4%BC%9A%E5%BD%B1%E5%93%8D%E5%85%A8%E5%B1%80%E3%80%82%0A%0A%23%23%23%2012.%20%E9%99%8D%E7%BA%A7%E5%92%8C%E9%99%90%E6%B5%81%0A%E2%80%8B%20%E5%85%B3%E4%BA%8E%E9%99%8D%E7%BA%A7%E9%99%90%E6%B5%81%E7%9A%84%E6%96%B9%E6%B3%95%E4%B8%9A%E7%95%8C%E9%83%BD%E5%B7%B2%E7%BB%8F%E6%9C%89%E5%BE%88%E6%88%90%E7%86%9F%E7%9A%84%E6%96%B9%E6%B3%95%E4%BA%86%EF%BC%8C%E6%AF%94%E5%A6%82FAILBACK%E6%9C%BA%E5%88%B6%EF%BC%8C%E9%99%90%E6%B5%81%E7%9A%84%E6%96%B9%E6%B3%95%E4%BB%A4%E7%89%8C%E6%A1%B6%EF%BC%8C%E6%BC%8F%E6%A1%B6%EF%BC%8C%E4%BF%A1%E5%8F%B7%E9%87%8F%E7%AD%89%E3%80%82%E8%BF%99%E9%87%8C%E8%B0%88%E4%B8%80%E4%B8%8B%E6%88%91%E4%BB%AC%E7%9A%84%E4%B8%80%E4%BA%9B%E7%BB%8F%E9%AA%8C%EF%BC%8C%E9%99%8D%E7%BA%A7%E4%B8%80%E8%88%AC%E9%83%BD%E6%98%AF%E7%94%B1%E7%BB%9F%E4%B8%80%E9%85%8D%E7%BD%AE%E4%B8%AD%E5%BF%83%E7%9A%84%E9%99%8D%E7%BA%A7%E5%BC%80%E5%85%B3%E6%9D%A5%E5%AE%9E%E7%8E%B0%E7%9A%84%EF%BC%8C%E9%82%A3%E4%B9%88%E5%BD%93%E6%9C%89%E5%BE%88%E5%A4%9A%E4%B8%AA%E6%8E%A5%E5%8F%A3%E6%9D%A5%E8%87%AA%E5%90%8C%E4%B8%80%E4%B8%AA%E6%8F%90%E4%BE%9B%E6%96%B9%EF%BC%8C%E8%BF%99%E4%B8%AA%E6%8F%90%E4%BE%9B%E6%96%B9%E7%9A%84%E7%B3%BB%E7%BB%9F%E6%88%96%E8%BF%99%E6%9C%BA%E5%99%A8%E6%89%80%E5%9C%A8%E6%9C%BA%E6%88%BF%E7%BD%91%E7%BB%9C%E5%87%BA%E7%8E%B0%E4%BA%86%E9%97%AE%E9%A2%98%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%B1%E8%A6%81%E6%9C%89%E4%B8%80%E4%B8%AA%E7%BB%9F%E4%B8%80%E7%9A%84%E9%99%8D%E7%BA%A7%E5%BC%80%E5%85%B3%EF%BC%8C%E4%B8%8D%E7%84%B6%E5%B0%B1%E8%A6%81%E4%B8%80%E4%B8%AA%E6%8E%A5%E5%8F%A3%E4%B8%80%E4%B8%AA%E6%8E%A5%E5%8F%A3%E7%9A%84%E6%9D%A5%E9%99%8D%E7%BA%A7%E3%80%82%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%A6%81%E5%AF%B9%E4%B8%9A%E5%8A%A1%E7%B1%BB%E5%9E%8B%E6%9C%89%E4%B8%80%E4%B8%AA%E5%A4%A7%E9%97%B8%E5%88%80%E3%80%82%E8%BF%98%E6%9C%89%E5%B0%B1%E6%98%AF%20%E9%99%8D%E7%BA%A7%E5%88%87%E8%AE%B0%E6%9A%B4%E5%8A%9B%E9%99%8D%E7%BA%A7%EF%BC%8C%E4%BB%80%E4%B9%88%E6%98%AF%E6%9A%B4%E5%8A%9B%E9%99%8D%E7%BA%A7%E7%9A%84%EF%BC%8C%E6%AF%94%E5%A6%82%E6%8A%8A%E8%AE%BA%E5%9D%9B%E5%8A%9F%E8%83%BD%E9%99%8D%E8%B0%83%EF%BC%8C%E7%BB%93%E6%9E%9C%E7%94%A8%E6%88%B7%E6%98%BE%E7%A4%BA%E4%B8%80%E4%B8%AA%E5%A4%A7%E7%99%BD%E6%9D%BF%EF%BC%8C%E6%88%91%E4%BB%AC%E8%A6%81%E5%AE%9E%E7%8E%B0%E7%BC%93%E5%AD%98%E4%BD%8F%E4%B8%80%E4%BA%9B%E6%95%B0%E6%8D%AE%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E6%9C%89%E6%89%98%E5%BA%95%E6%95%B0%E6%8D%AE%E3%80%82%E9%99%90%E6%B5%81%E4%B8%80%E8%88%AC%E5%88%86%E4%B8%BA%E5%88%86%E5%B8%83%E5%BC%8F%E9%99%90%E6%B5%81%E5%92%8C%E5%8D%95%E6%9C%BA%E9%99%90%E6%B5%81%EF%BC%8C%E5%A6%82%E6%9E%9C%E5%AE%9E%E7%8E%B0%E5%88%86%E5%B8%83%E5%BC%8F%E9%99%90%E6%B5%81%E7%9A%84%E8%AF%9D%E5%B0%B1%E8%A6%81%E4%B8%80%E4%B8%AA%E5%85%AC%E5%85%B1%E7%9A%84%E5%90%8E%E7%AB%AF%E5%AD%98%E5%82%A8%E6%9C%8D%E5%8A%A1%E6%AF%94%E5%A6%82redis%EF%BC%8C%E5%9C%A8%E5%A4%A7nginx%E8%8A%82%E7%82%B9%E4%B8%8A%E5%88%A9%E7%94%A8lua%E8%AF%BB%E5%8F%96redis%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%E3%80%82%E6%88%91%E4%BB%AC%E7%8E%B0%E5%9C%A8%E7%9A%84%E9%99%90%E6%B5%81%E9%83%BD%E6%98%AF%E5%8D%95%E6%9C%BA%E9%99%90%E6%B5%81%EF%BC%8C%E5%B9%B6%E6%B2%A1%E6%9C%89%E5%AE%9E%E6%96%BD%E5%88%86%E5%B8%83%E5%BC%8F%E9%99%90%E6%B5%81%E3%80%82%0A%0A%23%23%23%2013.%20%E7%BD%91%E5%85%B3%E7%9B%91%E6%8E%A7%E5%92%8C%E7%BB%9F%E8%AE%A1%0A!%5B8c6f2e63b46f2209eb552a5e627c0b90.png%5D(en-resource%3A%2F%2Fdatabase%2F5617%3A1)%0A%0A%0A%E2%80%8B%20API%E7%BD%91%E5%85%B3%E6%98%AF%E4%B8%80%E4%B8%AA%E4%B8%B2%E8%A1%8C%E7%9A%84%E8%B0%83%E7%94%A8%EF%BC%8C%E9%82%A3%E4%B9%88%E6%AF%8F%E4%B8%80%E6%AD%A5%E5%8F%91%E7%94%9F%E7%9A%84%E5%BC%82%E5%B8%B8%E8%A6%81%E8%AE%B0%E5%BD%95%E4%B8%8B%E6%9D%A5%EF%BC%8C%E7%BB%9F%E4%B8%80%E5%AD%98%E5%82%A8%E5%88%B0%E4%B8%80%E4%B8%AA%E5%9C%B0%E6%96%B9%E6%AF%94%E5%A6%82elasticserach%E4%B8%AD%EF%BC%8C%E4%BE%BF%E4%BA%8E%E5%90%8E%E7%BB%AD%E5%AF%B9%E8%B0%83%E7%94%A8%E5%BC%82%E5%B8%B8%E7%9A%84%E5%88%86%E6%9E%90%E3%80%82%E9%89%B4%E4%BA%8E%E5%85%AC%E5%8F%B8docker%E7%94%B3%E8%AF%B7%E9%83%BD%E6%98%AF%E7%BB%9F%E4%B8%80%E5%88%86%E9%85%8D%EF%BC%8C%E8%80%8C%E4%B8%94%E5%88%86%E9%85%8D%E4%B9%8B%E5%89%8Ddocker%E4%B8%8A%E5%B7%B2%E7%BB%8F%E5%AD%98%E5%9C%A83%E4%B8%AAagent%E4%BA%86%EF%BC%8C%E4%B8%8D%E5%86%8D%E5%85%81%E8%AE%B8%E5%A2%9E%E5%8A%A0%E3%80%82%E6%88%91%E4%BB%AC%E8%87%AA%E5%B7%B1%E5%AE%9E%E7%8E%B0%E4%BA%86%E4%B8%80%E4%B8%AAagent%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%9D%A5%E8%B4%9F%E8%B4%A3%E9%87%87%E9%9B%86%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E9%9D%A2%E7%9A%84%E6%97%A5%E5%BF%97%E8%BE%93%E5%87%BA%EF%BC%8C%E7%84%B6%E5%90%8E%E5%8F%91%E9%80%81%E5%88%B0kafka%E9%9B%86%E7%BE%A4%EF%BC%8C%E5%86%8D%E6%B6%88%E8%B4%B9%E5%88%B0elasticserach%E4%B8%AD%EF%BC%8C%E9%80%9A%E8%BF%87web%E6%9F%A5%E8%AF%A2%E3%80%82%E7%8E%B0%E5%9C%A8%E5%81%9A%E7%9A%84%E8%BF%BD%E8%B8%AA

微服务的优缺点

简介

微服务是一种架构风格,通过将大型的单体应用划分为比较小的服务单元,从而降低整个系统的复杂度。

优点

  1. 服务部署更灵活:每个应用都可以是一个独立的项目,可以独立部署,不依赖于其他服务,耦合性降低。
  2. 技术更新灵活:在大型单体应用中,技术要进行更新,往往是非常困难的。而微服务可以根据业务特点,灵活选择技术栈。
  3. 应用的性能得到提高:大型单体应用中,往往启动就会成为一个很大的难关。而采用微服务之后,整个系统的性能是能够得到提高的。
  4. 更容易组合专门的团队:在单体应用时,团队成员往往需要对系统的各个部分都要有深入的了解,门槛很高。而采用微服务之后,可以给每个微服务组建专门的团队。
  5. 代码复用:很多底层服务可以以REST API的方式对外提供统一的服务,所有基础服务可以在整个微服务系统中通用。

缺点

  1. 服务调用的复杂性提高了:网络问题、容错问题、负载问题、高并发问题
  2. 分布式事务:尽量不要使用微服务事务。
  3. 测试的难度提升了:
  4. 运维难度提升:单体架构只要维护一个环境,而到了微服务是很多个环境。并且运维方式还都不一样。所以对部署、监控、告警等要求就会变得非常困难。

微服务的常用组件

Netflix组件Eureka:注册中心(服务注册与发现)(已停更)Feign:远程调用(封装了一些请求),参数组合(已停更)Ribbon:负载均衡(与Feign结合使用),找一个具体的机器Hytrix:熔断器。客户端调用远程服务时熔断,不影响客户端应用(已停更)zuul:服务端网关(路由)(已停更)

Config:统一配置中心。保证配置统一,保证敏感信息安全(加密)

Spring Cloud Stream:连接所有的MQ

Spring Cloud AlibabaNacos:注册中心,统一配置中心Sentinel:服务降级,流控()Seata:分布式事务Dubbo:GateWay:Spring Cloud Stream RocketMQ Binder:

声明式调用

在 Spring Cloud 中,目前使用的声明式调用组件,只有:

  • spring-cloud-openfeign ,基于 Feign 实现。

如果熟悉 Dubbo 胖友的会知道,Dubbo 的 Service API 接口,也是一种声明式调用的提现。

艿艿:注意噢,Feign 并非 Netflix 团队开发的组件。所有基于 Netflix 组件都在 spring-cloud-netflix 项目下噢。

Feign

Feign 是受到 Retrofit、JAXRS-2.0 和 WebSocket 启发的 Java 客户端联编程序。Feign 的主要目标是将Java Http 客户端变得简单。

具体 Feign 如何使用,可以看看 《对于 Spring Cloud Feign 入门示例的一点思考》 。

有一点要注意,Feign 并非一定要在 Spring Cloud 下使用,单独使用也是没问题的。

Feign 实现原理?

Feign的一个关键机制就是使用了动态代理。咱们一起来看看下面的图,结合图来分析:

  • 首先,如果你对某个接口定义了 @FeignClient 注解,Feign 就会针对这个接口创建一个动态代理。
  • 接着你要是调用那个接口,本质就是会调用 Feign 创建的动态代理,这是核心中的核心。
  • Feig n的动态代理会根据你在接口上的 @RequestMapping 等注解,来动态构造出你要请求的服务的地址。
  • 最后针对这个地址,发起请求、解析响应。

Feign 和 Ribbon 的区别?

Ribbon 和 Feign 都是使用于调用用其余服务的,不过方式不同。

  • 启动类用的注解不同。
    • Ribbon 使用的是 @RibbonClient 。
    • Feign 使用的是 @EnableFeignClients 。
  • 服务的指定位置不同。
    • Ribbon 是在 @RibbonClient 注解上设置。
    • Feign 则是在定义声明方法的接口中用 @FeignClient 注解上设置。
  • 调使用方式不同。
    • Ribbon 需要自己构建 Http 请求,模拟 Http 请求而后用 RestTemplate 发送给其余服务,步骤相当繁琐。
    • Feign 采使用接口的方式,将需要调使用的其余服务的方法定义成声明方法就可,不需要自己构建 Http 请求。不过要注意的是声明方法的注解、方法签名要和提供服务的方法完全一致。

Feign 是怎么和 Ribbon、Eureka 整合的?

结合 「 Ribbon 是怎么和 Eureka 整合的?」 问题,并结合如下图:

  • 首先,用户调用 Feign 创建的动态代理。
  • 然后,Feign 调用 Ribbon 发起调用流程。
    • 首先,Ribbon 会从 Eureka Client 里获取到对应的服务列表。
    • 然后,Ribbon 使用负载均衡算法获得使用的服务。
    • 最后,Ribbon 调用 Feign ,而 Feign 调用 HTTP 库最终调用使用的服务。

这可能是比较绕的,艿艿自己也困惑了一下,后来去请教了下 didi 。因为 Feign 和 Ribbon 都存在使用 HTTP 库调用指定的服务,那么两者在集成之后,必然是只能保留一个。比较正常的理解,也是保留 Feign 的调用,而 Ribbon 更纯粹的只负责负载均衡的功能。

想要完全理解,建议胖友直接看如下两个类:

  • LoadBalancerFeignClient ,Spring Cloud 实现 Feign Client 接口的二次封装,实现对 Ribbon 的调用。
  • FeignLoadBalancer ,Ribbon 的集成。

集成的是 AbstractLoadBalancerAwareClient 抽象类,它会自动注入项目中所使用的负载均衡组件。

  • LoadBalancerFeignClient =》调用=》 FeignLoadBalancer 。

聊聊 Feign 重试机制?

可以看看 《Spring Cloud 各组件重试总结》 文章。因为 Ribbon 和 Feign 都有重试机制,在整合 Ribbon 的情况下,不使用 Feign 重试,而是使用 Ribbon 的重试。

服务保障

在 Spring Cloud 中,能够使用的服务保证,如下:

  • spring-cloud-netflix-hystrix ,基于 Hystrix 实现。
  • Resilience4j
  • spring-cloud-alibaba-sentinel ,基于 Sentinel 实现。

为什么要使用服务保障?

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC)。为了保证其高可用,单个服务又必须集群部署。由于网络原因或者自身的原因,服务并不能保证服务的 100% 可用,如果单个服务出现问题,调用这个服务就会出现网络延迟,此时若有大量的网络涌入,会形成任务累积,导致服务瘫痪,甚至导致服务“雪崩”。为了解决这个问题,就出现断路器模型。

详细的内容,可以看看 《为什么要使用断路器 Hystrix?》

Hystrix

  • 作用:断路器,保护系统,控制故障范围。
  • 简介:Hystrix 是一个延迟和容错库,旨在隔离远程系统,服务和第三方库的访问点,当出现故障是不可避免的故障时,停止级联故障并在复杂的分布式系统中实现弹性。

Hystrix 原理,整体如下图:

关于 Hystrix 的源码解析,可以看看艿艿写的 《Hystrix 源码解析系列》 。

Hystrix 隔离策略?

Hystrix 有两种隔离策略:

  • 线程池隔离
  • 信号量隔离

实际场景下,使用线程池隔离居多,因为支持超时功能。

详细的,可以看看 《Hystrix 的资源隔离策略》 文章。

聊聊 Hystrix 缓存机制?

Hystrix 提供缓存功能,作用是:

减少重复的请求数。在同一个用户请求的上下文中,相同依赖服务的返回数据始终保持一致。详细的,可以看看 《Hystrix 缓存功能的使用》 文章。

什么是 Hystrix 断路器?

Hystrix 断路器通过 HystrixCircuitBreaker 实现。

HystrixCircuitBreaker 有三种状态 :

  • CLOSED :关闭
  • OPEN :打开
  • HALF_OPEN :半开

其中,断路器处于 OPEN 状态时,链路处于非健康状态,命令执行时,直接调用回退逻辑,跳过正常逻辑。

HystrixCircuitBreaker 状态变迁如下图 :

  • 红线健康 :初始时,断路器处于 CLOSED 状态,链路处于 状态。当满足如下条件,断路器从 CLOSED 变成 OPEN 状态:
    • 周期( 可配,HystrixCommandProperties.default_metricsRollingStatisticalWindow = 10000 ms )内,总请求数超过一定量( 可配,HystrixCommandProperties.circuitBreakerRequestVolumeThreshold = 20 ) 。
    • 错误比例 请求占总请求数超过一定 ( 可配,HystrixCommandProperties.circuitBreakerErrorThresholdPercentage = 50% ) 。

什么是 Hystrix 服务降级?

在 Hystrix 断路器熔断时,可以调用一个降级方法,返回相应的结果。当然,降级方法需要配置和编码,如果胖友不需要,也可以不写,也就是不会有服务降级的功能。

具体的使用方式,可以看看 《通过 Hystrix 理解熔断和降级》

注册中心


在 Spring Cloud 中,能够使用的注册中心,还是比较多的,如下:

  • spring-cloud-netflix-eureka-server 和 spring-cloud-netflix-eureka-client ,基于 Eureka 实现。
  • spring-cloud-alibaba-nacos-discovery ,基于 Nacos 实现。
  • spring-cloud-zookeeper-discovery ,基于 Zookeeper 实现。
  • … 等等

以上的实现,都是基于 spring-cloud-commons 的 discovery 的 DiscoveryClient 接口,实现统一的客户端的注册发现。

为什么要使用服务发现?

简单来说,通过注册中心,调用方(Consumer)获得服务方(Provider)的地址,从而能够调用。

当然,实际情况下,会分成两种注册中心的发现模式:

  1. 客户端发现模式
  2. 服务端发现模式

在 Spring Cloud 中,我们使用前者,即客户端发现模式。

详细的内容,可以看看 《为什么要使用服务发现》 。

Eureka

  • 作用:实现服务治理(服务注册与发现)
  • 简介:Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。
  • 由两个组件组成:Eureka 服务端和 Eureka 客户端。
    • Eureka 服务端,用作服务注册中心,支持集群部署。
    • Eureka 客户端,是一个 Java 客户端,用来处理服务注册与发现。

在应用启动时,Eureka 客户端向服务端注册自己的服务信息,同时将服务端的服务信息缓存到本地。客户端会和服务端周期性的进行心跳交互,以更新服务租约和服务信息。

Eureka 原理,整体如下图:

关于 Eureka 的源码解析,可以看看艿艿写的 《Eureka 源码解析系列》 。

Eureka 如何实现集群?

《配置 Eureka Server 集群》

此处,也很容易引申出一个问题,为什么 Eureka 被设计成 AP 的系统,答案可以看看 《为什么不应该使用 ZooKeeper 做服务发现》 。

聊聊 Eureka 缓存机制?艿艿画了下 Eureka 的缓存机制,如下图所示:

原图可见地址:https://www.processon.com/view/link/5f49e2055653bb0c71de11e4

建议胖友可以手绘下,便于面试和面试官你侬我侬~

推荐额外阅读下如下三篇文章:

  • 《详解 Eureka 缓存机制》
  • 《Eureka 的多级缓存机制》
  • 《Eureka 缓存细节以及生产环境的最佳配置》

什么是 Eureka 自我保护机制?

《[Spring Cloud] Eureka 的自我保护模式及相关问题》

负载均衡

在 Spring Cloud 中,能够使用的负载均衡,如下:

  • spring-cloud-netflix-ribbon ,基于 Ribbon 实现。
  • spring-cloud-loadbalancer ,提供简单的负载均衡功能。

以上的实现,都是基于 spring-cloud-commons 的 loadbalancer 的 ServiceInstanceChooser 接口,实现统一的服务的选择。并且,负载均衡组件在选择需要调用的服务之后,还提供调用该服务的功能,具体方法见 LoadBalancerClient 接口的 #execute(…) 方法。

为什么要负载均衡?

简单来说,随着业务的发展,单台服务无法支撑访问的需要,于是搭建多个服务形成集群。那么随之要解决的是,每次请求,调用哪个服务,也就是需要进行负载均衡。

目前负载均衡有两种模式:

  1. 客户端模式
  2. 服务端模式

在 Spring Cloud 中,我们使用前者,即客户端模式。

详细的内容,可以看看 《客户端负载均衡与服务端负载均衡》 。

🦅 负载平衡的意义什么?

在计算中,负载平衡可以改善跨计算机,计算机集群,网络链接,中央处理单元或磁盘驱动器等多种计算资源的工作负载分布。负载平衡旨在优化资源使用,最大化吞吐量,最小化响应时间并避免任何单一资源的过载。使用多个组件进行负载平衡而不是单个组件可能会通过冗余来提高可靠性和可用性。负载平衡通常涉及专用软件或硬件,例如多层交换机或域名系统服务器进程。

Ribbon

  • 作用:主要提供客户侧的软件负载均衡算法。
  • 简介:Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 Netflix Ribbon 实现。通过 Spring Cloud 的封装,可以让我们轻松地将面向服务的 REST 模版请求自动转换成客户端负载均衡的服务调用。
  • 注意看上图,关键点就是将外界的 rest 调用,根据负载均衡策略转换为微服务调用。

Ribbon 原理,整体如下图:

关于 Ribbon 的源码解析,可以看看艿艿整理的 《Ribbon 源码解析系列》

Ribbon 有哪些负载均衡算法?

《Ribbon 负载均衡策略配置》

其中,默认的负载均衡算法是 Round Robin 算法,顺序向下轮询。

聊聊 Ribbon 缓存机制?

还是 《Eureka 缓存细节以及生产环境的最佳配置》 这篇文章,Ribbon 的缓存,可能也坑道蛮多人了。

聊聊 Ribbon 重试机制?

《Spring Cloud Ribbon 重试机制》

除了重试次数,还有请求的超时可以配置。

Ribbon 是怎么和 Eureka 整合的?

对着我们看到那张 Ribbon 原理图:

  • 首先,Ribbon 会从 Eureka Client 里获取到对应的服务列表。
  • 然后,Ribbon 使用负载均衡算法获得使用的服务。
  • 最后,Ribbon 调用对应的服务。

另外,此处的 Eureka 仅仅是作为注册中心的举例,也是可以配合其它的注册中心使用,例如 Zookeeper 。可参考 《以 Zookeeper 为注册中心搭建 Spring Cloud 环境》 文章。

配置中心

在 Spring Cloud 中,能够使用的配置中心,如下:

  • spring-cloud-config ,基于 Git、SVN 作为存储。
  • spring-cloud-alibaba-nacos-config ,基于 Nacos 实现。
  • Apollo ,携程开源的配置中心。

艿艿:目前 Spring Cloud 最成熟的配置中心的选择。

Spring Cloud Config

  • 作用:配置管理
  • 简介:Spring Cloud Config 提供服务器端和客户端。服务器存储后端的默认实现使用 Git ,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。
  • 这个还是静态的,得配合 Spring Cloud Bus 实现动态的配置更新。

虽然 Spring Cloud Config 官方并未推出管理平台,我们可以考虑看看 《为 Spring Cloud Config 插上管理的翅膀》

Apollo

关于 Apollo 的源码解析,可以看看艿艿写的 《Spring Cloud Apollo 源码解析系列》

链路追踪

链路追踪

在 Spring Cloud 中,能够使用的链路追踪,主要是两个,如下:

  • skywalking ,已经进入 Apache ,不仅仅能够透明的监控链路,还可以监控 JVM 等等。
  • spring-cloud-sleuth ,基于 Zipkin 实现。

SkyWalking

关于 SkyWalking 的源码解析,可以看看艿艿写的 《SkyWalking 源码解析系列》

Spring Cloud Sleuth

Spring Cloud Sleuth 原理,整体如下图:

聊聊网关服务

在 Spring Cloud 中,能够使用的网关服务,主要是两个,如下:

  • spring-cloud-netflix-zuul ,基于 Zuul1 实现。

Netflix 最新开源的网关服务是 Zuul2 ,基于响应式的网关服务。

  • spring-cloud-gateway ,基于 Spring Webflux 实现。

艿艿:比较大的可能性,是未来 Spring Cloud 网关的主流选择。考虑到目前资料的情况,建议使用 Zuul1 可能是更稳妥的选择,因为 Zuul1 已经能满足绝大数性能要求,实在不行也可以集群。

为什么要网关服务?

使用网关服务,我们实现统一的功能:

  • 动态路由
  • 灰度发布
  • 健康检查
  • 限流
  • 熔断
  • 认证: 如数支持 HMAC, JWT, Basic, OAuth 2.0 等常用协议
  • 鉴权: 权限控制,IP 黑白名单,同样是 OpenResty 的特性
  • 可用性
  • 高性能

详细的,可以看看 《为什么微服务需要 API 网关?》

Zuul

Zuul

  • 作用:API 网关,路由,负载均衡等多种作用。
  • 简介:类似 Nginx ,反向代理的功能,不过 Netflix 自己增加了一些配合其他组件的特性。
  • 在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个 API网关根据请求的 url ,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

Zuul 原理,整体如下图:

关于 Zuul 的源码解析,可以看看艿艿整理的 《Zuul 源码解析系列》

Spring Cloud Gateway

关于 Spring Cloud Gateway 的源码解析,可以看看艿艿写的 《Spring Cloud Gateway 源码解析系列》

Ribbon 的负载均衡原理

Ribbon主要提供客户端的软件负载均衡算法,实现服务高可用。

本文由作者按照 CC BY 4.0 进行授权