售前咨询
技术支持
渠道合作

浅谈服务架构Microservices

什么是Microservices

Microservices是面向服务的架构(SOA)架构风格的一个变体,它将应用程序构建为松散耦合服务的集合。在微服务架构中,服务应该是细粒度的,协议应该是轻量级的。将应用程序分解成不同的较小服务的好处是它可以提高模块性,并使应用程序更易于理解,开发和测试。它还通过使小型自主团队独立开发,部署和扩展各自的服务来平行开发。它还允许单独服务的架构通过连续重构出现。基于微服务的架构可实现持续的交付和部署。

Monolithic的优点

开发简单直接,集中式管理

基本不会重复开发

功能都在本地,没有分布式的管理开销和调用开销

它的缺点也非常明显,特别对于互联网公司来说(不一一列举了):

开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断

代码维护难:代码功能耦合在一起,新人不知道何从下手

部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长

稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉

扩展性不够:无法满足高并发情况下的业务需求

微服务的特征

一些列的独立的服务共同组成系统

单独部署,跑在自己的进程里

每个服务为独立的业务开发

分布式的管理

微服务的标准

分布式服务组成的系统

按照业务而不是技术来划分组织

做有生命的产品而不是项目

Smart endpoints and dumb pipes

自动化运维(DevOps)

容错

快速演化

Microservice架构模式

简单地说,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩容。就以下图所示的WikiPedia服务架构为例:

从上图中可以看到,WikiPedia包含了一系列服务,如数据访问服务Databases,搜索服务Search等。这些服务都包含了数量不等的服务实例,以确保能在不同负载的情况下为用户提供优质的服务。在用户的请求到达时,它们将协同工作,一起完成对用户请求的响应。

在使用Microservice架构模式的情况下,软件开发人员可以通过编译并重新部署单个子服务的方式来验证自己的更改,而不再需要重新编译整个应用,从而节省了大量的时间。同时由于每个子服务是独立的,因此各个服务内部可以自行决定最为合适的实现技术,使得这些子服务的开发变得更为容易。最后如果当前系统的容量不够了,那么我们只需要找到成为系统瓶颈的子服务,并扩展该子服务的容量即可:


SSL证书采用了技术含量比较高的加密技术。日后GDCA(数安时代)将会持续为大家推荐更多关于SSL证书的技术知识。让大家正确认识SSL证书,快速无误部署HTTPS安全协议。更多资讯,请关注GDCA。

相关文章