1. 微服务简介
1.1 什么是微服务架构
- 微服务架构是系统架构上的一种设计风格
- 将大系统拆分红N个小型服务
- 这些小型服务都在各自的线程中运行
- 小服务间经过HTTP协议进行通讯
- 有本身的数据存储、业务开发、自动化测试和独立部署机制
- 能够由不一样语言编写
小结:微服务架构的思想,不仅是停留在开发阶段,它贯穿了设计,研发,测试,发布,运维等各个软件生命周期。git
2. 架构体系

架构样例:
github
2.1 微服务发布--持续集成

3. 微服务架构九大特性
- 服务组件化
-- 组件是可独立更换、升级的单元。就像PC中的内存,CPU同样。
- 按业务组织团队
-- 要求人员全栈技能
- 作“产品”的态度
-- 对整个产品生命周期负责,而不是作“项目”交付态度
- 智能端点与哑管道
-- 微服务间的通信方式:
--- HTTP的RESTful API
--- MessageMQ消息队列
- 去中心化治理
--不是每个问题都是钉子,不是每个解决方案都是锤子。
- 去中心化数据管理
--独立维护各服务数据存储,尽可能使服务间“无事物”调用,经过补偿机制维护数据一致性问题
- 基础设施自动化
-- 自动化测试
-- 自动化部署
- 容错设计
-- 每一个服务实现监控和日志组件,好比服务状态,断路器状态,吞吐量,网络数据等关键数据仪表盘
- 演进式设计
--初期单体,逐步拆分,抽取公共组件
4. 微服务选型
-
Dubbo 是阿里多年构建生产级分布式微服务的技术结晶,服务治理能力很是丰富,在国内技术社区具备很大影响力,目前 github 上有超过 16k 星。Dubbo 本质上是一套基于 Java 的 RPC 框架,当当 Dubbox 扩展了 Dubbo 支持 RESTful 接口暴露能力。spring
-
Dubbo 主要面向 Java 技术栈,跨语言支持不足是它的一个弱项,另外由于治理能力太丰富,以致于这个框架比较重,彻底用好这个框架的门槛比较高,可是若是你的企业基本上投资在 Java 技术栈上,选 Dubbo 可让你在服务框架一块站在较高的起点上,无论是性能仍是企业级的服务治理能力,Dubbo 都作的很出色。网络
- 新浪微博开源的 Motan(GitHub 4k stars)也不错,功能和 Dubbo 相似,能够认为是一个轻量裁剪版的 Dubbo。

5. Spring Cloud 介绍

6. Spring Cloud 版本管理
http://projects.spring.io/spring-cloud/运维

