一. 微服务概述
1. 单体架构
一个归档包包含了应用所有功能的应用程序, 我们通常称之为单体应用。
架构单体应用的架构风格, 我们称之为单体架构, 这是一种比较传统的架构风格。
2. 微服务
微服务简介:简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。对这些微服务我们仅做最低限度的集中管理。
微服务具备的特性:
1. 每个微服务可独立运行在自己的进程里;
2. 一系列独立运行的微服务共同构建起了整个系统;
3. 每个服务为独立的业务开发,一个微服务一般完成某个特定的功能,比如:订单管理、用户管理等;
4. 微服务之间通过一些轻量的通信机制进行通信,例如通过REST API或者RPC的方式进行调用。
微服务的优点:
1.易于开发和维护
2.启动较快
3.局部修改容易部署
4.技术栈不受限
5.按需伸缩
6.DevOps
微服务的缺点:
1.运维要求较高
2.分布式的复杂性
3.接口调整成本高
4.重复劳动
微服务设计原则:
1.单一职责原则
2.服务自治原则
3.轻量级通信原则
4.接口明确原则
微服务框架:
1.Spring Cloud:http://projects.spring.io/spring-cloud
2.Dubbo:http://dubbo.io
3.Dropwizard:http://www.dropwizard.io
4.Consl、etcd &etc.
三. SpringCloud概述
1. SpringCloud官网
http://projects.spring.io/spring-cloud/
2. SpringCloud简介
作者:SpringCloud是基于SpringBoot的基础上进行搭建的分布式系统
官方:Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序
1. SpringCloud版本
1. SpringCloud特点
1. 约定由于配置
2. 开箱即用,快速启动
3. 适用于各种环境
4. 轻量级的组件
5. 组件的支持很丰富,功能齐全
6. 选型中立