微服务架构从入门到精通(二)微服务生态体系
本篇承接上一篇文章《微服务架构从入门到精通(一)微服务介绍》讲起,主要是介绍微服务架构的技术生态体系,让大家对微服务架构整个生态圈有个大体的了解。10来多年的从业经验来看,学习技术一般都是先看看书、跟着项目编程,等对技术有个了解后,要谨记进行理论方面的学习,这样才能学习的更透彻些。
开篇前先介绍一下架构师不得不了解的一个定律《康威定律》:
- 系统架构是公司组织架构的反映
- 应该按照业务闭环进行系统拆分/组织架构划分,实现闭环、高内聚低耦合,减少沟通成本
- 如果沟通出现问题,应该考虑进行系统和组织架构的调整
- 在合适时机进行系统拆分,注意成本尤其是维护成本
一、微服务生态体系
1.1 微服务基础架构
本图给出了微服务架构的整体技术栈,同时也提供了微服务架构的技术路线。如何学习并掌握微服务架构:
首先,技术开发,掌握spring cloud spring boot
其次,安全认证相关的技术,jwt、spring security、oauth、shiro等
第三,前后端分离相关的技术
最后,持续交付流水线的部署和发布
后面章节会逐步介绍各块的相关功能,譬如:微服务的灰度部署和蓝绿部署。
1.2 微服务架构总体技术体系
微服务技术体系主要包括:
- 开发框架 spring cloud或者dubbo
- 微服务持续交付流水线
- 微服务部署
- 微服务运维
整个微服务体系,分为网关、业务服务、支撑体系和基础设施。
1.3 微服务部署和运行架构
微服务发布和运行过程如上图,后面会简单介绍一下八大中心的介绍和职责。
1.4 微服务发布体系
1.5 微服务持续交付流水线
二、微服务的基础设施
作为一种架构模式,微服务将复杂系统切分为数十乃至上百个小服务,每个服务负责实现一个独立的业务逻辑。这些小服务易于被小型的软件工程师团队所理解和修改,并带来了语言和框架选择灵活性,缩短应用开发上线时间,可根据不同的工作负载和资源要求对服务进行独立缩扩容等优势。另一方面,当应用被拆分为多个微服务进程后,进程内的方法调用变成了了进程间的远程调用。引入了对大量服务的连接、管理和监控的复杂性。 为了解决这些种种困难,在实施微服务之前,要先进性基础设施的建设。最近比较火的Service Mesh与Istio或者后面单独介绍。
2.1 微服务的冰山模型
2.2 微服务的基础设施
2.3 微服务的实施利器
三、微服务实施过程
3.1 微服务架构设计原则
3.2 微服务实施过程
通过这篇文章,让大家对微服务整个生态体系有个大概了解,后面会结合微服务最佳实践来逐步介绍基础设施的搭建和如果落地微服务。
微服务架构从入门到精通(二)微服务生态体系相关推荐
- 微服务架构从入门到精通(一)微服务介绍
本系列文章包括微服务介绍.微服务架构.DevOps.APM等方面,尽量抓重点.不罗嗦,讲解微服务整个生态圈的技术性知识.期望各位同仁能快速的对微服务架构有个了解,加入到微服务最佳实践中来. 一.架构的 ...
- 微服务架构从入门到精通(四)微服务部署
在微服务.DevOps.Cloud-native.系统部署等的讨论中,蓝绿发布.A/B 测试.灰度发布.滚动发布.红黑部署等概念经常被提到,它们究竟是什么呢? 一.蓝绿发布 1.1 什么是蓝绿发布 蓝 ...
- java从入门到精通二十四(三层架构完成增删改查)
java从入门到精通二十四(三层架构完成增删改查) 前言 环境准备 创建web项目结构 导入依赖和配置文件 创建层次模型 实现查询 实现添加 实现修改 完成删除 做一个用户登录验证 会话技术 cook ...
- JHipster生成微服务架构的应用栈(二)- 认证微服务示例
本系列文章演示如何用JHipster生成一个微服务架构风格的应用栈. 环境需求:安装好JHipster开发环境的CentOS 7.4(参考这里) 应用栈名称:appstack 认证微服务: uaa 业 ...
- java架构师入门教程,java技术架构师入门到精通高薪就业教程百度云下载
java技术架构师入门到精通高薪就业视频教程百度云 课程目录: JAVA架构课开班典礼 JVM性能调优专题 JVM整体结构深度解析 JVM内存分配机制详解(此视频作废) JVM字节码文件结构深度剖析 ...
- java从入门到精通二十三(Servlet)
java从入门到精通二十三(Servlet) Servlet 说明 Servlet初步入门尝试 Servlet生命周期 Servlet方法说明和体系结构 方法说明 体系结构说明 一些优化封装 urlP ...
- mvp关联activity生命周期_Android MVP架构从入门到精通-真枪实弹
Android MVP架构从入门到精通-真枪实弹 一. 前言 你是否遇到过Activity/Fragment中成百上千行代码,完全无法维护,看着头疼? 你是否遇到过因后台接口还未写而你不能先写代码逻辑 ...
- Android MVP架构从入门到精通-真枪实弹
Android MVP架构从入门到精通-真枪实弹 一. 前言 二. MVC架构 1. MVC架构优缺点 A. 缺点 B. 优点 三. MVP架构 1. MVP架构优缺点 A. 缺点 B. 优点 四. ...
- Kali Linux 从入门到精通(二)-安装
Kali Linux 从入门到精通(二)-安装 Kail Linux 安装 持久加密USB安装-1 LUSK:Linux Unified Key Setup 磁盘分区加密规范 不依赖与操作系统的磁盘级 ...
最新文章
- MyBatis 3 自动生成 主键 针对不同的数据库(oracle/sqlserver/mysql)
- 项目中用到的Linux命令
- 集体终止合作 航空代理模式走投无路背后
- 如何让自己时刻冷静的方法_如何锻炼自己的口才及沟通技巧?这5个方法让你受用一辈子...
- HDU 3530 Subsequence
- agpl限制了开源_不要限制您的开源项目的潜力
- Javascipt数组去重的几种方式
- postgre 生成数据库html文档_postgresql数据库导入和导出CSV格式
- python的使用说明_Python教程:Python中__init__.py的使用用法说明
- cocos2dx 物理碰撞
- 微信api接口调用-微信群管理
- 违反计算机安全网络,违反网络安全法规定会受到哪些处罚
- FatFs(通用FAT文件系统模块)下载与介绍
- ios开发常用RGB色值
- 请选择正确html,请选择可以使单元格中的内容进行左对齐的正确HTML标记( )。...
- win8系统安装配置python_win8下python3.4安装和环境配置图文教程
- 人工智能与大数据就业前景_学大数据和人工智能哪个方向好?
- 学python要有多少英语词汇量_学习英语到底多少词汇量够用,1年能学习到1000的词汇量吗?...
- Qt之QTextEdit
- 【调试】——idea远程调试服务器上的代码
热门文章
- IT人看《国富论》系列:第一篇之第四章:论货币的起源及其效用。UML是软件行业的货币...
- web上传整个文件夹
- 关于python+selenium的自动化测试需要用到的知识点总结
- ElasticSearch--解决this action would add [5] total shards, but this cluster currently has [1000]/[1000
- 038-云E办_工资账套功能
- 事件 ID: 10016 解决方案
- 软件项目管理的十大定律
- pdf怎么在线阅读?一键查阅并不难
- 2022年湖北安全员ABC证考试题库哪里有呢?甘建二
- 分享:电脑虚拟内存到底能不能关掉