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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 微服务实践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 自动化管理京东云

目录
相关文章
|
2月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1572 9
|
12月前
|
运维 持续交付 云计算
深入解析云计算中的微服务架构:原理、优势与实践
深入解析云计算中的微服务架构:原理、优势与实践
676 86
|
7月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
425 12
|
12月前
|
监控 持续交付 API
深入理解云计算中的微服务架构:原理、优势与实践
深入理解云计算中的微服务架构:原理、优势与实践
532 83
|
9月前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
10月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
603 17
|
9月前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
11月前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
226 32
|
12月前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
11月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
634 5

热门文章

最新文章