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

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务实践00--微服务方法论00

微服务实践目录,可以参见连接。

思想

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

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

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

技术方向

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

技术全景

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

技术工具

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

  1. 可视化编程

CoatiSoftware / Sourcetrail

3. 可视化控件

Echarts,D3.js,Tableua

4. 前端低代码

  • 信息推送

木有开源滴。

- 质量

  • 代码扫描
  • 自动测试

    • 混沌实验

ChaosBlade,Chaos Monkey

- DevOps

  • 运行环境

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

  • 升级

flagr

  • 部署

Puppet、Chef、Ansible和SaltStack

  • 版本管理

scm

  • 日志管理

elk,flume

  • 监控

Zabbix、Nagios、Open-Falcon

  • 可视化

全局可视化系统

Telegraf InfluxDB Grafana

  • 应用性能

lb的使用情况

  • 调用链

zipkin,pinpiont,skywalking

  • 接口管理

swagger,yapi,rap2

总结

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

参考:

Spring Cloud 体系
Netflix OSS
BAT 程序员们常用的开发工具
数据可视化的开源方案: Superset vs Redash vs Metabase (一)

运维福音——Terraform 自动化管理京东云

目录
相关文章
|
3天前
|
运维 监控 API
深入浅出:微服务架构的设计与实践
在软件开发的世界中,微服务架构如同一股清新的风,吹散了单体应用带来的沉重与复杂。本文将带你走进微服务的世界,一探究竟,从理念到实践,我们一同领略微服务的魅力所在。
|
3天前
|
运维 持续交付 开发者
深入浅出:微服务架构的设计与实践
在数字化浪潮的推动下,微服务架构以其独特的优势成为软件开发领域的新宠。本文将通过浅显易懂的语言,带领读者从理论到实践,一探微服务架构的奥秘。我们将一起学习如何设计一个高效、可扩展且易于维护的微服务系统,并探讨实施过程中可能遇到的挑战及解决方案。无论你是软件架构的初学者,还是希望深化理解的开发者,这篇文章都将为你提供有价值的见解和指导。
17 3
|
2天前
|
搜索推荐 API 开发者
深入浅出:微服务架构的设计与实践
在数字化时代的浪潮下,微服务架构以其灵活性、可扩展性和独立部署的特点,成为众多企业技术选型的宠儿。本文将通过浅显易懂的语言和生动的比喻,带领读者一探微服务世界的奥秘,从基础概念到实际案例,逐步揭示如何设计并实施一个高效、稳定的微服务系统。无论你是技术小白还是资深开发者,这篇文章都将为你打开一扇了解和应用微服务的大门。
|
1天前
|
消息中间件 API 持续交付
深入浅出:微服务架构的设计与实践
在软件开发的广阔海洋中,微服务架构如同一艘灵活的帆船,它以模块化的方式切割复杂的单体应用,让服务独立、轻盈且易于管理。本文将带你从理论到实践,一步步揭开微服务的神秘面纱,探讨如何设计并实现一个高效、可扩展的微服务系统。无论你是架构新手还是资深开发者,这篇文章都将为你提供新的视角和实用的技巧。
17 6
|
5天前
|
设计模式 API 持续交付
深入浅出:微服务架构的设计与实践
在软件开发的世界中,微服务架构如同一场革命,它改变了我们构建、部署和管理应用的方式。本文将带你一探微服务的奥秘,从基础概念到实际案例分析,再到设计模式和常见问题解答,我们一步步深入理解微服务架构的设计哲学和实践要点。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇了解和应用微服务的大门。
|
2天前
|
设计模式 消息中间件 监控
深入浅出微服务架构:从理论到实践
探索微服务,不仅是技术的革新,也是思维的革命。本文将带你走进微服务的世界,了解其核心理念、设计模式及实际应用案例,让你对微服务有更深入的认识和理解。
13 3
|
3天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
13 3
|
6天前
|
监控 Cloud Native 持续交付
云原生时代的微服务架构实践
【9月更文挑战第5天】随着云计算技术的飞速发展,云原生已成为现代软件开发的重要趋势。本文将深入探讨在云原生环境下,如何有效实施微服务架构,包括服务拆分、容器化部署、持续集成与交付等关键环节。通过具体案例,我们将展示如何在云平台上构建弹性、可扩展的微服务应用,并讨论在此过程中可能遇到的挑战及解决策略。
|
4天前
|
监控 Cloud Native 安全
云原生时代的微服务架构实践
【9月更文挑战第6天】在数字化转型的浪潮中,云原生技术以其灵活性、可扩展性成为企业架构升级的首选。本文将通过浅显易懂的语言和生动的比喻,带你一探微服务架构的世界,从理论到实践,逐步揭示如何利用云原生技术构建高效、可靠的微服务系统,同时穿插代码示例,为有志于云原生领域发展的技术人员提供一份实操指南。
20 2
|
7天前
|
消息中间件 监控 API
深入浅出微服务架构:从理论到实践
在软件开发领域,“微服务”这一概念已如日中天,它改变了我们构建、部署和扩展应用的方式。本文将带你走进微服务的世界,不仅探讨其核心理念,还将通过实际案例,展示如何将一个传统单体应用拆分为微服务架构。我们将一步步分析微服务的优势与挑战,并讨论如何在现实世界中实现和维护微服务架构,让你对微服务有一个全面而深入的理解。