美文网首页
分布式架构

分布式架构

作者: 杰森斯坦sen | 来源:发表于2019-06-27 19:07 被阅读0次

微服务特点

  • 服务组件化
  • 按业务能力组织服务
  • 去中心化
  • 基础设施自动化

微服务具备业务独立、进程隔离、团队自主、技术无关轻量级通信和交付独立性等“微”特性。

微服务拆分

拆分是由业务驱动的,通过业务来进行一些横向拆分或者纵向拆分,考虑拆分粒度,甚至组织架构也要进行调整。

拆分是一个由粗到细逐步演进的过程。

考虑服务治理、配置中心、分布式事务

考虑微服务框架:

  • Dubbo:服务的定义、服务的注册与发现、服务的调用和路由
  • Spring Cloud:Consul

考虑熔断、降级、限流、隔离。

  • Dubbo通过mock参数提供了降级的特性。
  • Hystrix熔断和隔离。
  • Dubbo通过信号量的配置提供了一些基础的限流特性,限制消费者的调用并发,或者提供者的执行并发。
  • 限流框架:基于令牌桶和漏桶算法QPS限流,基于Redis集群级别的限流。

考虑服务监控。日志、Metrics、HealthCheck。

  • 日志ELK。监控请求数量,响应时间
  • Metrics。时序数据库influxdb,Grafana。采集Dubbo调用数据
  • 健康检查,数据库、消息队列,缓存
  • 报警PageDuty,Siren
  • 调用链路Dapper。TarceID,SpanID 等是通过Dubbo的隐式传参来传递。

服务测试

  • 接口测试,契约测试,网易NEI
  • 单链路压测、全链路压测。LoadTest。容量管理,限流阈值。

网关

  • Dubbo泛化调用
  • 自研API网关
  • 认证,服务编排

注册中心

  • Dubbo-ZooKeeper:惊群效应。强一致性模型。应用启动十分缓慢。ZooKeeper写是不可扩展的。
  • Consul、Eruka、etcd、Nacos

同城双活,异地双活

  • Dubbo同机房优先调用
  • 跨DC容灾

容器化

  • DevOps
  • Service Mesh

Reference

网易考拉的服务架构如何从单体应用走向微服务化?
网易考拉海购Dubbok框架优化详解

相关文章

网友评论

      本文标题:分布式架构

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