微服务实践--微服务方法论00

2023-11-18

思想

在接收到一个新的新项目时,架构师的职责是建立项目的业务与技术实现之间的桥梁。在翻译业务到技术实现的过程中需要进行业务建模、技术设计等方面的工作。业务建模和技术设计过程中都有各自领域的知识体系。基本上每个知识体系都是由上层的理论、概念和方法论的提供方向上的支撑,由下层的实施方法、实施工具进行具体工作的实施。

在微服务实践系列文章中主要介绍在微服务实践过程中可能会考虑到的方向、以及这些方向可供选择的技术工具、并会涉及少量的架构设计理论知识。而在架构设计系列文章中会介绍架构理论、架构设计实践、以及架构设计中的分析与评估方法。

因为本系列文章主要介绍的是技术工具的内容,就会根据技术工具的特性进行介绍。不过本系列文章中不会像网络上其他的技术文章一样以某项技术为维度进行文章编写。而更像书本以技术的维度进行整理。以这种方式一方面是符合了我们的【实践】题目,便于在实践过程中使用技术工具组织整体架构。另一方面以技术方向而不是某一个技术实现,也是以一种自顶向下的思维方式进行说明(软件研发人员一般会使用自底向上的视为方式)。

技术方向

对于微服务中技术的全局中可能会有很多门技术需要学习与掌握。这里以一张图的方式为大家展示可能在微服务中遇到的技术与实现方向:

outside_default.png

技术全景

作者把微服务实践中的技术方向有分了四部分:微服务管理,存储技术,业务支持,DevOps。微服务管理是介绍分布式系统的技术实现部分。存储技术独立出来的意义在于存储和大数据,人工智能等大型的独立系统有关系。业务支持是阐述在业务实现过程中可能会用到的技术,但是不和通用的微服务技术相关的技术。DevOps是在微服务设计和敏捷的提倡下需要接受一切自动化的方式。

outside_default.png

技术工具

上图中的浅绿色部分,是说明所有的技术方向。之后所有的文章都会按照这个规范进行编写。右侧每一列都是一项技术实现,这些技术实现可能会涵盖不同的技术方向。所以,这里也会在下面的文章中在不同的技术方向上推荐不同的实现技术。例如:做数据库与缓存同步的工具可选范围不多的情况,我就只能推荐Gearman。

从图中可以看到微服务技术关注的大概方向,基本上整理出来五个大方向。并在五个大方向上有相关的具体技术方向进行补充。现在基本上就缺具体的实现技术选型:

- 微服务管理

  • 内容发布
    CDN,分布式存储等

  • 远程过程调用
    RPC,RMI,JMS,AMQP,

  • 服务发现
    DNS,zookeeper,spring eureka,spring consul,ETCD,REDIS

  • 服务注册
    DDNS,zookeeper,spring eureka,spring consul

  • 网关
    Zuul,Kong,Nginx Plus,OpenResty,Spring Cloud Gateway

  • 负载均衡
    LVS,Nginx,F5

  • 高可用
    Haproxy,keepalive

  • 服务编排
    Netflix Conductor,uber/cadence,zeebe-io/zeebe,ing-bank/baker,Spring Cloud Zuul, Node-RED,ApiConfig

  • 统一配置
    Spring Config,ctripcorp/apollo: Apollo,git,nginx,Consul,Netflix Archaius

  • 分布式任务管理
    xxl-job,Elastic-Job,

  • 异步任务
    AMQP,Spring Cloud,Dubbo

  • 高速缓存
    Redis,Memcache,Mysql Memory DB,H2

  • 前后端分离
    Swagger,API Gateway

  • 服务降级
    Dubbo,Spring Cloud Hystrix

  • 服务限流
    Dubbo,Spring Cloud Hystrix

  • 服务熔断
    Dubbo,Spring Cloud Hystrix

  • 故障恢复
    Docker,Swarm,K8s

  • 事务管理
    sage,fescar,gts,Narayana

  • 动态选举
    zookeeper

  • 用户
    用户认证,权限管理,用户计费,会话管理

  • OpenAPI
    Kong,APIgee

  • 对象存储
    minio,riakcs(亚马逊S3技术),ceph

  • 事件驱动
    EventBus, spring event

  • 并发处理
    akka,Actor

  • 全局唯一性编码
    UUID,SetNX,雪花算法,

  • 规则引擎
    Drools

- 存储技术

  • 结构化数据存储
    Postgresql,(不推荐Mysql)

  • 半结构化数据存储
    redis,MongoDB

  • 无结构数据存储
    hdfs,mfs,fastdfs

- 业务支持

  • LBS
    木有开源滴。

  • AI

  • BigData

  • 全文检索
    Lucene

  • 静态化
    freemark

  • 智能推荐
    mahout

  • 用户跟踪
    木有开源滴。

  • IDaaS(身份认证及服务)
    暂未找到

  • SEO/SEM
    暂未找到

  • 网络爬虫
    Python

  • 特性开关
    Flagr,Togglz,FF4J,Fitchy,Flip

  • 租户管理
    mybaits-plus,Citus,mycat

  • 第三方支付
    需要聚合支付。

  • 可视化
    Hue,impala,DataDeck,Tableau,Redash,Metabase,Superset

  1. 数据可视化
    jtablesaw / tablesaw
    Processing

  2. 可视化编程
    CoatiSoftware / Sourcetrail

  3. 可视化控件
    Echarts,D3.js,Tableua

  4. 前端低代码
    20+个可视化搭建工具,一次玩个够

信息推送
木有开源滴。

- 质量

  • 代码扫描

  • 自动测试

    • 混沌实验
      ChaosBlade,Chaos Monkey

- DevOps

  • 运行环境
    基础环境都在这里。
    Terraform(基础设施即代码)

  • 升级
    flagr

  • 部署
    Puppet、Chef、Ansible和SaltStack

  • 版本管理
    scm

  • 日志管理
    elk,flume

  • 监控
    Zabbix、Nagios、Open-Falcon

  • 可视化
    全局可视化系统

  • 持续交付
    Spinnaker

  • 指标监控
    Telegraf InfluxDB Grafana

  • 应用性能
    lb的使用情况

  • 调用链
    zipkin,pinpiont,skywalking

  • 接口管理
    swagger,yapi,rap2

总结

这里提供了完善的分布式系统,微服务,SOA的技术方向体系。之后可以方便的从本系列中选择最优工具加入到业务系统中。

出处:https://www.jianshu.com/p/b64fa4234549

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微服务实践--微服务方法论00 的相关文章

随机推荐

  • LINK : warning LNK4068: /MACHINE not specified; defaulting to IX86

    win32下汇编程序开发时 当连接时出现 LINK warning LNK4068 MACHINE not specified defaulting to IX86 这样的警告 解决方式 link subsystem windows mac
  • Linux下yum命令

    Yum 全称为 Yellow dog Updater Modified 是一个在Fedora中的Shell前端软件包管理器 基於RPM包管理 能够从指定的服务器自动下载RPM包并且安装 可以自动处理依赖性关系 并且一次安装所有依赖的软体包
  • 代码评审工具Phabricator安装和部署

    1 安装 1 1 安装要求 Phabricator是一个LAMP应用套件 因此最基本的要求就是LAMP环境 Linux Linux的不同发行版及变种是必需的 MacOS X是一个可接受的Linux变种 Windows不是 Phabricat
  • 第二篇 AlexNet——模型精讲

    文章目录 摘要 1 创新点 2 模型结构 3 模型特点 4 Pytorch官方实现 摘要 AlexNet是由Alex Krizhevsky 提出的首个应用于图像分类的深层卷积神经网络 该网络在2012年ILSVRC ImageNet Lar
  • 什么是模式识别

    什么是模式识别 当我们人眼看到一幅画时 我们能够很清晰的知道其中哪里是动物 哪里是山 水 人等等 但是人眼又是如何识别和分辨的呢 其实很简单 人类也是在先验知识和对以往多个此类事物的具体实例进行观察的基础上得到的对此类事物整体性质和特点的认
  • (二叉树)二叉搜索树的查找、插入和删除

    1 二叉搜索树简介 二叉搜索树或者是一棵空树 或者是具有下列性质的二叉树 若它的左子树不空 则左子树上所有结点的值均小于它的根结点的值 若它的右子树不空 则右子树上所有结点的值均大于它的根结点的值 它的左 右子树也分别为二叉搜索树 二叉搜索
  • 孙燕姿谈“AI孙燕姿”:她的反应让人意外,深入体验揭示其背后的真相与潜力!

    目录 前言 AI歌手简介 AI歌手的技术原理 孙燕姿对 AI孙燕姿 的看法 结论 个人感受 一 你听过AI歌手的音乐呈现吗 作为听众你的感受如何 二 你认为这种新型演艺模式能否获得广泛的市场认可 原因是什么 三 你认为AI歌手会取代流行歌手
  • 第十三届蓝桥杯省赛 JAVA A组 - 矩形拼接

    个人博客 https blog csdn net Newin2020 spm 1011 2415 3001 5343 专栏地址 蓝桥杯题解集合 专栏定位 为想参加蓝桥杯的小伙伴整理常考算法题解 祝大家都能取得理想成绩 如果有收获的话 欢迎点
  • 【ChatGPT炒菜攻略】如何做韭菜

    ChatGPT可以化身为一名厨师 不仅有着扎实的厨艺基础和丰富的经验 而且也对食材的选取十分讲究 时常会寻找新鲜和有潜力的材料进行尝试和创新 从而创造出更加优秀和惊艳的佳肴 同时 我注重菜品的色 香 味 形均衡 追求将自然与文化相融合 以满
  • ip最长匹配mysql实现

    ip最长匹配计算 mysql使用inet aton函数实现 mask是ip的 select from select inet aton 10 181 88 1 inet aton mask inet aton prefix as match
  • Java程序跨平台原理

    平台 指的是操作系统 Windows Linux Mac 跨平台 Java程序可以在任一操作系统上运行 一次编写到处运行 原理 实现跨平台需要依赖Java的虚拟机JVM Java Virtual Machine Java程序 可以在Wind
  • win10 的图标丢失了怎么办?

    情况说明 几分钟前 自己手贱 居然一不小心把那D盘的分区表给删了 虽然说是借助DiskGenius即使找了回来 但是一个尴尬的情况出现了 原来装在D盘的程序虽然可以用 但是图标却没了 这对于有强迫症的我来说 让我浑身不舒服 解决方案 首先
  • java读取Excel —— XSSFWorkbook 找不到该类

    做一个Excel表格的读取时导入 org apache poi 包后居然提示 XSSFWorkbook 找不到 原来是还需要下载一个jar包 poi ooxml 包 之后在引入相关类即可 import org apache poi xssf
  • Window XP驱动开发(二十四) 电源管理

    转载自 http blog csdn net xxxluozhen article details 5023703 一 电源管理 1 WDM电源管理模型 在Windows 2000和Windows 98中 操作系统接管了大部分电源管理工作
  • (数据结构)1.实现图的邻接矩阵和邻接表的存储 2.实现图的遍历算法

    实验内容 1 编写一个程序graph cpp 设计带权图的邻接矩阵与邻接表的创建和输出运算 并在此基础上设计一个主程序exp8 1 cpp完成以下功能 1 建立如图8 54所示的有向图G的邻接矩阵 并输出之 2 建立如图8 54所示的有向图
  • 力扣:70. 爬楼梯

    假设你正在爬楼梯 需要 n 阶你才能到达楼顶 每次你可以爬 1 或 2 个台阶 你有多少种不同的方法可以爬到楼顶呢 示例 1 输入 n 2 输出 2 解释 有两种方法可以爬到楼顶 1 1 阶 1 阶 2 2 阶 示例 2 输入 n 3 输出
  • Boot与APP的Hex合并

    软件准备 使用的软件是srec cat软件 下载地址 合并脚本编写 ECHO OFF 如果存在上一次的hex文件就删除 if exist BootJoinAPP CCP APP hex del BootJoinAPP CCP APP hex
  • C# 远程唤醒(远程开机)

    C 远程唤醒 远程开机 近日 小白要用到远程开机的功能 网上大多介绍的是Magic Packet的工具 实际上 此Magic Packet是AMD公司开发的 请在google cn中搜索Magic Packet Technology 原理上
  • Mysql递归查询

    SELECT IFNULL CONCAT GROUP CONCAT CONCAT catId t id catName t name ch catLevel t level AS companyCategories FROM SELECT
  • 微服务实践--微服务方法论00

    思想 在接收到一个新的新项目时 架构师的职责是建立项目的业务与技术实现之间的桥梁 在翻译业务到技术实现的过程中需要进行业务建模 技术设计等方面的工作 业务建模和技术设计过程中都有各自领域的知识体系 基本上每个知识体系都是由上层的理论 概念和