1. springcloud - 微服务架构一站式解决方案

2019-06-28  本文已影响0人  leesoft

1. 微服务架构的特点

1.1 理解微服务

软件架构经理了从单体架构、垂直架构、SOA架构到微服务架构的过程

单体架构:

垂直架构

SOA架构

优点:

缺点:

微服务架构

优点:

缺点:

1.2 集群、分布式、微服务的理解

分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。

分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。

分布式,从窄意上理解,也跟集群差不多,但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。

分布式的每一个节点,都完成不同的业务,一个节点垮了,那这个业务就不可访问了。

好的设计应该是分布式和集群的结合,先分布式再集群,具体实现就是业务拆分成很多子业务,然后针对每个子业务进行集群部署,这样每个子业务如果出了问题,整个系统完全不会受影响。

微服务的设计是为了不因为某个模块的升级和BUG影响现有的系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。

分布式和微服的架构很相似,只是部署的方式不一样而已。

分布式需要做好事务管理。

集群模式需要做好session共享,确保在不同服务器切换的过程中不会因为没有获取到session而中止退出服务。

一般配置Nginx*的负载容器实现:静态资源缓存、Session共享可以附带实现,Nginx支持5000个并发量。

1.3 什么是微服务

为适应企业的发展,提高软件研发的生产力,降低软件研发的成本,软件架构也做了升级和优化,将一个独立的系统拆分为若干个小的服务,每个小服务运行在不同的进程中,服务于服务之间采用http轻量协议传输数据,每个服务所拥有的功能具有独立性强、耦合度高的特点,这样的设计就实现了单个服务内的高内聚,服务于服务之间的低耦合效果,这一个一个的小服务就是微服务,基于这种方法设计的系统架构即为微服务架构

2. 微服务技术栈的技术构成

2.1 Spring Cloud

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

2.2 Spring Cloud技术栈

现有微服务技术结构

服务治理:Duboo、Dubbox、Eureke、Netflix等
配置管理:Disconf、QConf、Diamood等
服务跟踪:Hydra、Zipkin、Sleuth等

Spring Cloud集成了众多的解决方案,提供一站式微服务解决方案。(Nexflix公司)

Spring Cloud的子项目,大致可分成两类:
一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;

第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:

clipboard.png
上一篇 下一篇

猜你喜欢

热点阅读