微服务带来的挑战

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 微服务架构已经成为现在构建应用的主流架构,使用微服务架构将带来挑战。

image.png

服务部署的挑战
每个服务都需要独立的代码管理、版本管理、编译构建、部署到测试环境,部署到生产环境,代码回滚等等事情,如果要有几十个服务要部署,人工管理几乎不可能完成。

服务伸缩的挑战
无状态服务需要配置负载均衡和增加节点,有状态服务需要扩充单个服务的资源,如果需要减少资源浪费,需要监控每个服务,还需要减少节点和资源。

服务高可用的挑战
每种服务的高可用策略都不一样,无状态服务相对简单,管理每个有状态服务都是难题。

服务容错的挑战
任何一个服务的可用性都不是 100% 的。在分布式系统中,当我依赖的某个服务不可用的时候,我自身也将不能工作。如果是一个复杂的分布式系统,会依赖更多服务,任何一个服务不可用的时候,系统自身也将不能工作,再加上网络不稳定的因素,系统自身的可用性将大幅度下降。

依赖关系的挑战
依赖配置文件,如果写在代码中,需要重新部署才能生效,而配置文件还会污染代码

服务监控的挑战
大量微服务如何同时监控?监控的日志,性能指标如何收集,集中展现?服务间的调用关系如何跟踪?每一次调用经过了哪些服务,调用是否成功?

目录
相关文章
|
前端开发 JavaScript Java
Springboot2.x+Websocket+js实现实时在线文本协同编辑,并展示协同用户
Springboot2.x+Websocket+js实现实时在线文本协同编辑,并展示协同用户
Springboot2.x+Websocket+js实现实时在线文本协同编辑,并展示协同用户
|
运维 API 数据库
微服务架构下的数据一致性挑战与解决策略
随着软件架构从单体应用向微服务架构的迁移,数据一致性问题成为开发和运维团队面临的一大技术挑战。本文旨在深入探讨在微服务环境下保持数据一致性的重要性、面临的难题以及采取的策略。通过分析事务管理的传统模式与现代方法的对比,结合具体的案例研究,本文提供了一套综合性解决方案,以帮助读者理解并应对分布式系统中的数据一致性问题。
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
255 0
|
Kubernetes 监控 容器
Istio安装及Bookinfo环境部署
文章详细介绍了如何在Kubernetes集群上安装和配置Istio服务网格,并通过部署Bookinfo示例应用来演示Istio的核心功能,如流量管理、服务监控和故障注入等。
203 1
Istio安装及Bookinfo环境部署
|
人工智能 开发框架 监控
LangChain和Hub的前世今生
作为LLM(大模型)开发框架的宠儿,LangChain在短短几年内迅速崛起,成为开发者们不可或缺的工具。本文将带你探讨LangChain和LangChainHub的发展历程。
LangChain和Hub的前世今生
|
Kubernetes Cloud Native 安全
|
JSON 运维 Prometheus
面向多告警源,如何构建统一告警管理体系?
面向多告警源,如何构建统一告警管理体系?
|
Java 应用服务中间件 Nacos
【项目实战典型案例】26.nacos的命名空间名字和id不一致
【项目实战典型案例】26.nacos的命名空间名字和id不一致
案例26---nacos命名空间名字和id不一致导致不能使用
案例26---nacos命名空间名字和id不一致导致不能使用
|
负载均衡 Kubernetes Cloud Native