架构演进

微服务

微服务就是一些协同工作的小而自治的服务,两个特性:

简单连接:

1、在连接通道方面,微服务很轻,一般采用轻量级的通讯协议(如HTTP)和简单数据格式(如JSON)。

2、无需中心节点提供复杂业务处理,把业务的职责还给服务端,更灵活地响应业务变化。

分散管理:

1、分散业务-业务高内聚、低耦合,简化依赖关系

2、分散数据-微服务数据块内部的表紧密相关,块间数据相关性弱。在实施层面,数据逻辑上分离,或者使用独立数据库,物理上隔离。

3、分散物理资源-借助虚拟机和容器技术,非常适合微服务部署,对服务器资源更高效地利用。

 

为什么要用微服务?
在传统的应用架构及开发模式下,会产生以下问题:

系统复杂、环境设置复杂、不兼容技术无法混合使用、多应用间无法有效隔离、开发、测试、线上版本管理复杂、运维困难、无法拆分、难以扩容缩容、编译时间长等。

相比之下微服务架构具有以下优势:

服务治理

微服务带来的问题

微服务治理平台应该具备的核心功能

常见的微服务框架

服务治理框架:

(1)Dubbo(http://dubbo.io/)、Dubbox(当当网对Dubbo的扩展)

(2)Netflix的Eureka、Apache的Consul等。Spring Cloud Eureka是对Netflix的Eureka的进一步封装。

分布式配置管理:

(1)百度的Disconf

(2)360的QConf

(3)Spring Cloud组件中的Config

(3)淘宝的Diamond

3、批量任务框架

(1)Spring Cloud组件中的Task
(2)LTS

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐