3.从单架构到微服务

原创 2018年04月17日 07:37:27

1.单架构到微服务

  1. 单架构如何进化为微服务架构
  2. 如何设计微服务系统
  3. 微服务架构的设计原则
    • 什么是单块架构
  4. 请求到响应都是从到1的:用户==》1.表示层==》2.业务层==3.数据访问层==》数据库
  5. 典型的单块架构就是上述分层的,web(html,css,js),业务逻辑层(java,python,go),数据持久层(sql)
  6. 单架构,优点:功能划分清楚,层次关系良好,每一层独立,部署简单(一个包),技术单一(java,springBoot技术栈),用人成本低
  7. 缺点:功能太大,升级风险高,维护成本增加,交付周期长,可伸缩性变差,监控困难

2.如何将单块架构转为微服务架构

  1. 系统初始,都是内聚的,所有功能累加到一起,单体架构
  2. 以SOA为例

3.微服务架构的设计原则(颗粒度设计)

  • 微服务设计:James Lewis和Martin Fowler,服务可以运行在进程中,可以如http交互,没有太大的技术关联,可以用不同的数据存储形式
    1. 拆分足够微,(亚马逊两个披萨原则,不能太小,管理成本)
    2. 轻量级通信,(微服务都是跨域,跨主机的,web服务,rest,rpc,同步用rest(http,格式用json或xml),异步用消息中间件)
    3. 领域驱动原则,(服务要体现领域业务模型,容易让团队理解上下文边界,一定要理解需求先,一定要深刻了解业务模型),就是我要跟领域专家达成一致
    4. 单一职责原则:(高内聚,低耦合,对其它服务的依赖要低,单一界限上下文)

6微服务拆分

  • 举例说,SpringBoot,天气预报缺乏业务有效隔离,第三方采集接口协议变了怎么办??,改了这个代码必将影响整个应用,他们是杂在一起的
  • 微服务的意义:
    1. 易于实现
    2. 利于维护
    3. 易于部署,轻量级的(SpringBoot都是内嵌容器的,tomcat容器)
    4. 易于更新,服务是隔离的
  • 正向反馈闭环很快: 需求==》开发==》集成==》测试==》部署==》有问题就继续需求
  • 微服务拆分方法:
    1. 横向拆分:数据采集,数据存储,数据查询,数据展示
    2. 纵向拆分:用户界面层,应用层,领域层,基础设施层;这已经架构了,比如java的包
    3. 使用DDD,驱动设计原则: 天气预报系统:天气数据采集界限(数据采集,数据存储),天气预报(数据展示),天气数据API(数据查询),城市数据API(数据查询)

微服务架构模式系列文章之一:单体架构

熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我的痛苦指数,让我能够坚持把Chris Richard...
  • xn_sung
  • xn_sung
  • 2016-08-25 22:07:26
  • 2842

微服务架构(一):单一应用架构与微服务架构

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。 这篇文章是对 http:...
  • u012422829
  • u012422829
  • 2017-04-01 19:34:42
  • 3209

微服务实践:从单体式架构迁移到微服务架构

微服务
  • gaowenhui2008
  • gaowenhui2008
  • 2017-04-19 14:09:04
  • 458

微服务的单体应用的优缺点对照

单体应用的不足 逻辑复杂、模块耦合、代码臃肿,修改难度大,版本迭代效率低下 系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长 系统错误隔离性差、可用性差...
  • liujianhuiouc
  • liujianhuiouc
  • 2016-09-30 14:19:13
  • 2309

从0开始的微服务架构:(二)如何快速体验微服务架构?

记得好久之前看到一个大牛说过:如果单体架构都搞不好,就别搞微服务架构。乍一看,这句很有道理,后来发现这句话是不太对的,因为微服务架构的目的就是为了降低系统的复杂性,所以 微服务架构应该比单体架构更简单...
  • javahongxi
  • javahongxi
  • 2017-09-20 13:30:01
  • 729

【Dubbo】微服务架构(一):单一应用架构与微服务架构

工作中使用了微服务架构,接下来的一段时间里,我会写一系列的文章来介绍微服务架构,同时我也会在github上写一个microservices的应用框架(地址会在后续文章给出)。(该文章来自http://...
  • zsq520520
  • zsq520520
  • 2017-04-02 21:44:49
  • 1123

架构解密从分布式到微服务

  • 2017年08月10日 07:53
  • 78.1MB
  • 下载

架构解密从分布式到微服务(Leaderus著)PDF

  • 2017年08月28日 12:12
  • 66.1MB
  • 下载
收藏助手
不良信息举报
您举报文章:3.从单架构到微服务
举报原因:
原因补充:

(最多只允许输入30个字)