微服务技术栈

微服务 2.0 技术栈

微服务基础架构核心关注点
  • 服务架构
    • RPC vs REST
    • 二进制 vs 文本序列化
    • TCP vs HTTP
    • 契约 vs 代码优先编程模型
    • 客户端自动生成
    • 跨语言互操作
    • 框架选型:
      • Spring Boot/Cloud : Spring的框架本质上可以认为是一种RESTful框架(不是RPC框架),序列化协议主要采用基于文本的JSON,通讯协议一般基于HTTP
      • Dubbo : 分布式微服务框架,面向Java 技术栈
  • 服务容错 -- hystrix
    • 超时
    • 熔断
    • 隔离
    • 限流
    • 降级
  • 运行时支撑服务
    • 服务网关
      • 一般情况下,网关一般都会提供请求转发、安全认证(身份/权限认证)、流量控制、负载均衡、容灾、日志、监控这些功能。
      • 框架选型
      • Zuul , Kong
    • 服务注册发现
      • 框架选型
        • Spring Cloud体系:Eureka ,Consul
    • 负载均衡
    • 配置中心
      • 框架选型
        • Spring Cloud Config -- 很多治理能力缺失,小规模场景可以试用
        • Apollo -- 具备高可用,配置实时生效(推拉结合),配置审计和版本化,多环境多集群支持等生产级特性,建议中大规模需要对配置集中进行治理的企业采用
  • 服务监控
    • 日志监控
      • 框架选型
        • ELK
    • 调用链监控
      • 框架选型
        • CAT
        • Zipkin
        • pinpoint
    • Metrics 监控
      • 框架选型
        • 基于HBase的OpenTSDB -- 时间序列数据库
        • Cassandra的KariosDB
    • 告警通知
    • 健康检查
      • Sensu
  • 服务安全
    • OAuth授权
    • jwt认证
    • IAM -- identity & access management
    • 框架选型
      • Apereo CAS
      • keycloak
      • spring cloud security
  • 后台服务
    • 消息系统
      • kafka
      • rocketMq
      • rabbitMq
    • 分布式数据访问层
      • 当当开源的shardingjdbc,分库分表逻辑做在客户端jdbc driver中,客户端直连数据库比较简单轻量,建议中小规模场景采用
      • Cobar演化出来的社区开源分库分表中间件MyCAT,proxy模式运维成本较高,建议中大规模场景,有一定框架自研和运维能力的团队采用。
    • 任务调度
      • xxl-job
      • elastic-job
    • 缓存管理
      • SohuTv开源的cachecloud,Redis缓存治理平台
      • Twitter开源的twemproxy
      • CodisLab开源的codis
  • 服务部署平台
    • 发布机制
    • 容器调度平台
      • kubernetes
      • mesos
    • 发布系统
    • 镜像治理
      • docker registry
    • 用户资源治理
    • 发布流水线
参考地址

Spring Boot https://github.com/spring-projects/spring-boot Alibaba Dubbo https://github.com/alibaba/dubbo Google gRPC https://github.com/grpc/grpc NetflixOSS Eureka https://github.com/Netflix/eureka Hashicorp Consul https://github.com/hashicorp/consul NetflixOSS Zuul https://github.com/Netflix/zuul Kong https://github.com/Kong/kong Spring Cloud Config https://github.com/spring-cloud/spring-cloud-config CTrip Apollo https://github.com/ctripcorp/apollo ElasticSearch https://github.com/elastic/elasticsearch Yelp Elastalert https://github.com/Yelp/elastalert Dianping CAT https://github.com/dianping/cat Zipkin https://github.com/openzipkin/zipkin Naver Pinpoint https://github.com/naver/pinpoint OpenTSDB https://github.com/OpenTSDB/opentsdb KairosDB https://github.com/kairosdb/kairosdb Argus https://github.com/salesforce/Argus InfluxDB https://github.com/influxdata/influxdb Prometheus https://github.com/prometheus/prometheus Grafana https://github.com/grafana/grafana Sensu https://github.com/sensu/sensu Esty 411 https://github.com/etsy/411 Zalando ZMon https://github.com/zalando/zmon NetflixOSS Hystrix https://github.com/Netflix/Hystrix Nginx https://github.com/nginx/nginx Apache Kafka https://github.com/apache/kafka Allegro Hermes https://github.com/allegro/hermes Apache Rocketmq https://github.com/apache/rocketmq Rabbitmq https://github.com/rabbitmq/rabbitmq-server Sohutv CacheCloud https://github.com/sohutv/cachecloud Twitter twemproxy https://github.com/twitter/twemproxy CodisLab codis https://github.com/CodisLabs/codis Dangdang Sharding-jdbc https://github.com/shardingjdbc/sharding-jdbc MyCAT https://github.com/MyCATApache/Mycat-Server Xxl-job https://github.com/xuxueli/xxl-job Dangdang elastic-job https://github.com/elasticjob/elastic-job-lite Apereo CAS https://github.com/apereo/cas JBoss keycloak https://github.com/keycloak/keycloak Spring cloud security https://github.com/spring-cloud/spring-cloud-security OpenID-Connect-Java-Spring-Server https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server Google Kubernetes https://github.com/kubernetes/kubernetes Apache Mesos https://github.com/apache/mesos Vmware Harbor https://github.com/vmware/harbor Netflix Spinnaker https://github.com/spinnaker/spinnaker Microservices in Practice – Key Architecture Concepts of an MSA https://wso2.com/whitepapers/microservices-in-practice-key-architectural-concepts-of-an-msa/ 微服务的设计与生态系统 http://servicecomb.incubator.apache.org/assets/slides/20170619/MSAPrinciple&EcoSystem.pdf

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值