关于什么是架构,一种比较通俗的说法是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。
从这个意义上说,人生规划也是一种架构。选什么学校、学什么专业、进什么公司、找什么对象,过什么样的生活,都是自己人生的架构。
具体到软件架构,维基百科是这样定义的:“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计”。系统的各个重要组成部分及其关系构成了系统的架构,这些组成部分可以是具体的功能模块,也可以是非功能的设计与决策,他们相互关系组成一个整体,共同构成了软件系统的架构。
一般说来,除了当前的系统功能需求外,软件架构还需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素,架构设计过程中需要平衡这5个要素之间的关系以实现需求和架构目标,也可以通过考察这些架构要素来衡量一个软件架构设计的优劣,判断其是否满足期望。
高可用微服务架构
Author:TangTao © 2020
![]()
createTime:2020-5-24 23:37:43 updateTime:2020-5-24 23:39:49
主要功能
- 接口网关:基于 Spring Cloud Gateway 的网关作为流量的入口,在微服务系统中有着非常重要的作用,网关常见的功能有路由转发、权限校验、限流控制等作用。
- 配置管理:基于 Nacos 实现统一维护配置、API网关动态配置。
- 服务发现:基于 Nacos 实现 Dubbo 服务注册、API网关动态路由。
- 限流控制:基于 Sentinel 把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
- 接口文档:基于 Swagger 自动生成接口文档,针对存在网关层的情况,实现了多个微服务接口文档组合为一个前端。
- 实时日志:基于 Kafka+ELK 实现日志实时上报和分析,使用 Logback 直接写入 Kafka ,即插即用。
- 代码生成:使用 MyBatis Generator 自动生成 Entity、DAO、XML ,自定义的和生成的隔离,可以多次覆盖生成,方便快捷。
- 系统监控:搭配 Prometheus 和 Grafana 的监控系统,实时监控各种指标,在出现异常时及时发出警报。
- 链路追踪:搭配 Elasticsearch 和 SkyWalking 的链路追踪 ,可跟踪调用走向和性能,有助于及时定位问题点。
- 消息队列:基于 RabbitMQ 或 RocketMQ 的分布式消息系统,解耦系统。
更新时间:
2020-5-25 00:23:17

