微服务是一种软件架构模式。架构
小:粒度小,专一一项业务app
独:独立部署,服务独立测试、部署、升级、发布框架
轻:轻量级通讯分布式
松:松耦合。对语言和工具要求松,能够选择最契合业务的语言微服务
X轴,服务实例水平扩展,保证可靠性与性能;工具
Y轴,功能的扩展,服务单一职责,功能独立;性能
Z轴,数据分区,数据独立,可靠性保证;测试
VM(不推荐)接口
Docker进程
Docker是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app)。几乎没有性能开销,能够很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
基础设施自动化(devops、自动化部署)
分布式事务:2阶段、3阶段、tcc
分布式一致性:全局的分布式事务;事件驱动
分布式调度
分布式全局id生成
服务命名、注册、发现
服务治理
服务间通讯