架构

作者: 前度天下 | 来源:发表于2021-05-07 09:45 被阅读0次

    技术选型

    • 网关:Nginx、Kong、Zuul

    • 缓存:Redis、MemCached、OsCache、EhCache

    • 搜索:ElasticSearchSolr

    • 熔断:Hystrix、resilience4j

    • 负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy

    • 注册中心:Eureka、Zookeeper、Redis、Etcd、Consul

    • 认证鉴权:JWT

    • 消费队列:RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka

    • 系统监控:Grafana、Prometheus、Influxdb、Telegraf、Lepus

    • 文件系统:OSS、NFS、FastDFS、MogileFS

    • RPC框架: Dubbo、Motan、Thrift、grpc

    • 构建工具:Maven、Gradle

    • 集成部署:Docker、Jenkins、Git、Maven

    • 分布式配置:Disconf、Apollo、Spring Cloud Config、Diamond

    • 压测:LoadRunner、JMeter、AB、webbench

    • 数据库:MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase

    • 网络:专用网络VPC、弹性公网IP、CDN

    • 数据库中间件:DRDS、Mycat、360 Atlas、Cobar (不维护了)

    • 分布式框架:Dubbo、Motan、Spring-Could

    • 分布式任务:XXL-JOB、Elastic-Job、Saturn、Quartz

    • 分布式追踪:Pinpoint、CAT、zipkin

    • 分布式日志:elasticsearch、logstash、Kibana 、redis、kafka

    • 版本发布:蓝绿部署、A/B测试、灰度发布/金丝雀发布

    持续交付

    架构

    链路监控

    架构

    监控架构

    四层监控

    • 前端监控:IP、PV、运营商、系统、性能、状态码
    • 业务监控:登录、注册、下单、支付
    • 应用层监控:service、sql、cache、相应时间
    • 系统监控:物理机、虚拟机、容器,CPU、内存、IO、硬盘
    • 基础监控:网络、交换机、路由器

    监控分类

    • 日志监控
    • 调用链监控
    • 告警系统
    • Metrics监控
    • 监控检查

    Docker、Grafana、Prometheus、Telegraf、Influxdb、Lepus、Elasticsearch、Logstash、Kibana、kafka、node插件、dashboards仪表盘、钉钉、邮件、微信。

    架构 架构

    服务框架和治理

    架构

    架构必备

    • 负载均衡(负载均衡算法)
    • 反向代理
    • 服务隔离
    • 服务限流
    • 服务降级(自动优雅降级)
    • 失效转移
    • 超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时)
    • 回滚机制(上线回滚、数据库版本回滚、事务回滚)

    高并发

    • 应用缓存
    • HTTP缓存
    • 多级缓存
    • 分布式缓存
    • 连接池
    • 异步并发

    分布式事务

    • 二阶段提交(强一致)
    • 三阶段提交(强一致)
    • 消息中间件(最终一致性),推荐阿里的RocketMQ

    队列

    • 任务队列
    • 消息队列
    • 请求队列

    扩容

    • 单体垂直扩容
    • 单体水平扩容
    • 应用拆分
    • 数据库拆分
    • 数据库分库分表
    • 数据异构
    • 分布式任务

    网络安全

    • SQL注入
    • XSS攻击
    • CSRF攻击
    • 拒绝服务(DoS,Denial of Service)攻击

    相关文章

      网友评论

          本文标题:架构

          本文链接:https://www.haomeiwen.com/subject/ahlsdltx.html