微服务建构思想

微服务架构思想

微服务架构优点

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提取指标数据。

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

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

相关推荐
.生产的驴42 分钟前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
喵叔哟44 分钟前
16. 【.NET 8 实战--孢子记账--从单体到微服务】--汇率获取定时器
微服务·oracle·.net
Smile丶凉轩1 小时前
微服务即时通讯系统的实现(服务端)----(1)
c++·git·微服务·github
丁总学Java1 小时前
ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
arm开发·架构
运维&陈同学2 小时前
【zookeeper03】消息队列与微服务之zookeeper集群部署
linux·微服务·zookeeper·云原生·消息队列·云计算·java-zookeeper
ZOMI酱3 小时前
【AI系统】GPU 架构与 CUDA 关系
人工智能·架构
猿java4 小时前
什么是 Hystrix?它的工作原理是什么?
java·微服务·面试
Code_Artist5 小时前
使用Portainer来管理并编排Docker容器
docker·云原生·容器