产品及服务

用心做软件,畅达为您想得更多

微服务可伸缩开发架构

微服务可伸缩架构是一种革命性的软件开发运维模式,它使得小团队也能开发出高可靠,高并发的大型应用。

微服务是去 ESB(企业服务总线)的 SOA。ESB 借鉴了计算机组成原理中的通信模型 —— 总线,所有需要和外部系统通信的系统,通过 ESB 进行标准化地转换从而消除协议、异构系统之间的差异,这样就可以利用现有的系统构建一个全新的松耦合的异构的分布式系统。微服务架构去掉 ESB,本质上是一种去中心化的思想。

微服务的心脏
从最简单、最核心的问题出发,假设服务 A 要调用服务 B,会有什么问题?
一、服务在哪?(服务治理问题)
二 、怎么调用?(服务调用问题)

为了解决第一个问题 Spring Cloud 提供了 Eureka、Zookeeper、Cloud Foundry、Consul 等服务治理框架的集成。它们的工作模式是将所有的微服务注册到一个 Server 上,然后通过心跳进行服务健康监测。这样服务 A 调用 B 时可以从注册中心拿到可用的服务 B 的地址、端口进行调用。

第二个服务调用有人可能认为就是一个简单的 HTTP 或者 RPC 调用,不是什么问题。但是在分布式的场景下,服务调用需要考虑的因素会更多。比如一个服务有多个实例,此时请求进来了交给谁处理,请求的负载怎么平衡到各个实例,都是比较棘手的问题。Spring Cloud 提供了两种服务调用的方式:一种是 Ribbon + restTemplate,另一种是 Feign。其中 Ribbon 是基于 HTTP 和 TCP 客户端的负载均衡器,restTemplate 是 Spring 提供的 Restful 远程调用的模板,两者结合就可以达到远程调用的负载均衡。而 Feign 是一个更加声明式的 HTTP 客户端,开发者可以像调用本地方法一样调用它,完全感觉不到是远程调用,结合 Ribbon 也可以做负载均衡。

docker12 docker13 docker2 docker3 docker4 docker5 docker6 docker7 docker8 docker9 docker10 docker11

泛微EOfficeOA系统

自定义网站平台,满足您的想象

智慧远程监控Demo项目

智慧管理远程监控Demo项目,充分运用了数字话信息化监控领域的先进思想,融合当今通信、电子、计算机诸多领域的先 […]

微服务可伸缩开发架构

微服务可伸缩架构是一种革命性的软件开发运维模式,它使得小团队也能开发出高可靠,高并发的大型应用。