美文网首页
初识微服务架构

初识微服务架构

作者: 程序员同行者 | 来源:发表于2018-11-19 21:32 被阅读0次

软件架构的进化

什么是软件架构?

  • 软件架构是在软件的内部,经过综合各种因素的考量
    、权衡,选择特定的技术,将系统划分成不同的部分并使这些部分相互分工,彼此协作,为用户提供需要的价值
哪些因素?
  1. 业务需求
  2. 技术栈
  3. 成本
  4. 组织架构
  5. 可扩展性
  6. 可维护性

什么是单体架构

  • 定义:功能、业务集中在一个发布包你,部署运行在一个进程中。
单体架构优势
  • 易于开发
  • 易于测试
  • 易于部署
  • 易于水平伸缩
单体架构面临的挑战
  • 代码膨胀,难以维护
  • 构建、部署成本大
  • 新手上手困难
  • 创新困难
  • 可扩展性差

综上所述 单体架构已经out了

什么是微服务

  • 定义:使用一套下服务来开发单个应用的方式,每个服务运行
    独立的进程里,一般采用轻量级的通讯
    机制互联,并且他们可以通过自动化的方式
    部署
多微才算微?
  • 代码量?
  • 开发时间?
  • 不可度量
微服务的特征
  1. 单一职责
  • 比如订单一个服务,登录注册一个服务
  • 两个关系不大的可以作为单个服务
  1. 轻量级通信
  • 微服务与微服务之间的通信 如rpc
  1. 隔离性
  • 独立部署 相互隔离
  1. 有自己的数据
    - 业务的数据独立性,降低数据复杂度
  2. 技术多样性
  • 语言不限如java,go,python都行
微服务诞生背景
  • 互联网行业的快速发展
  • 敏捷开发,精益方法深入人心
  • 容器技术的成熟(docker使微服务架构落地成为可能)

画一个传统架构图

单体架构图.png

画一个微服务架构图

  • 假定业务场景
  1. 一个在线教育的网站部分功能
  2. 用户可以登录注册,获取用户信息
  3. 有发送邮件发送短信的功能
  4. 可以查看课程列表和对课程的CRUD
微服务架构.png

微服务架构的优势

  • 独立性
  1. 独立部署,相互隔离,但微应用出问题不影响其他服务
  • 敏捷性
  1. 技术栈灵活
  2. 高效团队

微服务架构的不足

  • 额外的工作
  1. 服务的拆分
  • 数据一致性
  1. 在单体应用中 数据库使用的同一个,数据很好保持一致性,
  2. 在微应用中心 由于都是需要分库分表的在这种模式下,可能对数据库的一致性有难度
  3. 沟通成本
  4. 在单体应用中 如想修改某个接口,就可以直接修改了,
  5. 在微应用中 可能这个接口不是你负责的 或者不能你们组负责的这就需要去和负责的人沟通了

相关文章

  • 软件架构模式

    CQRS架构 微服务架构 微核架构

  • 微服务架构初识

    总结自己对微服务架构整体的一个浅层次认知,主要包括以下9个方面认知。 一.微服务 ①什么是微服务? 微服务就是一些...

  • 初识微服务架构

    软件架构的进化 什么是软件架构? 软件架构是在软件的内部,经过综合各种因素的考量、权衡,选择特定的技术,将系统划分...

  • 初识微服务架构

    什么是微服务? 微服务架构并没有很精确的定义,微服务是一种软件架构风格,一个复杂大型软件应该是由一个或多个的微服务...

  • 初识SpringCloud

    一、初识SpringCloud 微服务是一种架构方式,最终肯定需要技术架构去实施。 微服务的实现方式很多,但是最火...

  • 基于SkyWalking的分布式跟踪系统 - 环境搭建

    初识SkyWalking 应用场景 随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及...

  • 黄勇微服务

    1.为什么需要微服务架构 2.微服务架构是什么 3.微服务架构有哪些特点 4.如何搭建微服务架构 5.黄勇开源的微...

  • 微服务开发模式系列之九阴真经

    微服务是微服务架构中的概念,微服务架构是指由一系列微服务组成的体系架构。每一个微服务都是一个可以独立部署的程序,微...

  • 微服务架构多“微”才合适?

    微服务架构多“微”才合适? 前情提要:互联网架构为什么要做服务化? 一、互联网架构为什么要进行服务化-总结 上一篇...

  • OpenStack设计与实现(第2版)

    第一章 初识OpenStack 1.3 OpenStack体系结构 云计算3种落地方式: Iaas(基础架构即服务...

网友评论

      本文标题:初识微服务架构

      本文链接:https://www.haomeiwen.com/subject/ybqzfqtx.html