微服务建构思想

微服务架构思想

微服务架构优点

1、易于开发和维护:一个微服务只会关注一个特定的业务功能。所以它业务清晰。代码量较少。开发和维护

单个微服务相对简单。而整个应用是由若干个微服务构建而成的。

2、单个微服务启动较快:单个微服务代码量较少,所以启动比较快。

3、局部修改容易部署:单体应用只要有修改,就得重新部署整个应,微服务解决了该问题。如果想对某个微

服务进行修改,只需要重新部署这个服务即可。

4、技术栈不受限:可以结合项目业务和团队的特点,合理地选择技术。

5、按需伸缩:可根据需求,实现细粒度的扩展。

微服务架构的挑战

运维要求较高:

部署问题:更多的服务意味着更多的运维投入。

分布式固有的复杂性:

使用微服务构建的是分布式系统。对于一个分布式系统来说问题:

1、分布式日志

2、分布式事务

3、分布式Session

4、系统容错

5、网络延迟

微服务自动化部署

Nexus+Jenkins+Git|Gitee|Gitlab+Docker+K8s

1、私有仓库搭建 Nexus

2、持续集成 Jenkins+Maven

3、灰度发布

微服务日志收集与性能监控

1、日志收集工作 日志输出----日志收集-----日志分析 -----ELK
2、性能监控-----Zabbix

3、链路追踪-----sleuth+Zipkin

通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。

zipkin是一种分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。

微服务自动化测试与质量管理

SonarQube

整体架构

前面给我们项目的微服务应用都加上监控告警。Spring Boot Actuator的引入只是第一步

  • 如何集成监控告警系统Prometheus和图形化界面Grafana
  • 如何自定义监控指标,做应用监控埋点 Prometheus
  • 如何集成Alertmanager 进行告警

数据收集器,它以配置的时间间隔定期通过HTTP提取指标数据。

一个时间序列数据库,用于存储所有指标数据。

一个简单的用户界面,您可以在其中可视化,查询和监视所有指标。

相关推荐
炸炸鱼.8 小时前
Kubernetes高级调度02:Taint/Toleration、Cordon/Drain、亲和性与反亲和性完全指南
云原生·容器·kubernetes
hai3152475438 小时前
RISC-V核E203核前向旁路的架构性顽疾
驱动开发·架构·硬件架构·硬件工程·risc-v
意图共鸣8 小时前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
王莎莎-MinerU9 小时前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
canonical_entropy9 小时前
Harness Engineering 之外:从非线性动力系统控制理解吸引子引导工程
架构·aigc·ai编程
Jiude9 小时前
AI 写代码太快之后,团队协作反而更难了
人工智能·架构·github
海兰11 小时前
Kibana Dashboard as Code:Elastic 9.4 如何用 Terraform 和类型化 API 终结“JSON 垃圾袋“
云原生·json·terraform
AI 小老六12 小时前
Claude Code 如何压缩上下文:Microcompact、Prompt Cache 与 cache_edits 工程拆解
数据库·人工智能·ai·语言模型·架构·系统架构
geshifei13 小时前
K8s 容器运行 UnixBench — 代理机器执行记录
云原生·容器·kubernetes