01.04 Day 20 - 弹力设计篇之“弹力设计总结”

大家好,我是 Snow Hide,作为《左耳听风》这个专栏的学员之一,这是我打卡的第 20 天,也是我第 20 次进行打卡这种操作。

今天我温习了该专栏里一篇叫《弹力设计篇之“弹力设计总结”》的文章。

关键词总结:弹力设计概览(负载均衡、服务发现、动态路由、自动化运维、服务调度、服务伸缩、故障迁移)、服务界耦合拆分(bulkheads 模式、自包含系统、异步通讯、自动化运维)、容错设计(错误方面、一致性方面、流控方面、自动化运维方面)弹力设计开发和运维(比较 Spring Cloud 和 Kubernetes、服务涵盖面比较、服务的功能特性)。

 

所学总结:

 

弹力设计概览

负载均衡

包含负载均衡 & 服务健康检查,可以通过 Nginx 或 HAProxy 等技术实现。

服务发现

包含服务发现 & 动态路由 & 服务健康检查,可以通过 Consul 或 Zookeeper 等技术实现。

自动化运维

包含自动化运维 & 服务调度 & 服务伸缩以及故障迁移,服务调度可以通过 Docker 结合 Kubernetes 来实现。
 

服务界耦合拆分

bulkheads 模式

涵盖了业务分片、用户分片、数据库拆分。

自包含系统

涵盖了从单体到微服务的中间状态,拆分一组相关的微服务,保证没有外部的依赖。

异步通讯

涵盖了服务发现、事件驱动、消息队列、物业工作流。

自动化运维

涵盖了服务调用链和性能的监控系统。
 

容错设计

错误方面

涉及调用重试、熔断以及服务幂等性涉及。

一致性方面

涉及强一致和弱一致,强一致性使用 2PC,最终一致性使用异步通讯方式。

流控方面

涉及限流以及降级的技术。

自动化运维方面

涉及网关流量调度以及服务的监控。
 

弹力设计开发和运维

比较 Spring Cloud 和 Kubernetes

微服务考量Spring Cloud & Netflix OSSKubernetes
配置管理Config Server, Consul, Netflix ArchalusKubernetes ConfigMap & Secrets
服务发现Netflix Eureka, Hashicorp ConsulKubernetes Service & Ingress Resources
负载均衡Netflix RibbonKubernetes Service
API 网关Netflix ZuulKubernetes Services & Ingress Resources
服务安全Spring Cloud Security-
日志中心ELK Stack (LogStash)ELK Stack (Fluentd)
指标中心Netflix Spectator & AtlasHeapster, Promethues, Grafana
分布追踪Spring Cloud Slueth, ZipkinOpenTracing, Zipkin
弹性容错Netflix Hystrix, Turbine & RibbonKubernetes Health Check & resource isolation
自伸缩自愈-Kubernetes Health Check, Self Healing, Autoscaling
打包发布调度Spring BootDocker/Rkt, Kubernetes Scheduler & Deployment
作业管理Spring BatchKubernetes Jobs & Scheduled Jobs
单例应用Spring Cloud ClusterKubernetes Pods

服务涵盖面比较

关键技术Spring CloudKubernetesIaaS
DevOps 经验☑️
自伸缩自愈☑️
弹性容错☑️☑️
分布追踪☑️☑️
指标中心☑️☑️
日志中心☑️☑️
API 网关☑️☑️
作业管理☑️☑️
单例应用☑️☑️
负载均衡☑️☑️
服务发现☑️☑️
配置管理☑️☑️
应用打包☑️☑️
发布调度☑️
进程隔离☑️
环境管理☑️
资源管理☑️
操作系统☑️
虚拟化☑️
硬件存储网络☑️

服务的功能特性

能力Spring Cloud(SC) 结合 Kubernetes(K)
DevOps 经验自服务(K)、多环境能力(K)
自伸缩自愈Pod/Cluster Autoscaler(K)、HealthIndicator(SC)、Scheduler(K)
弹性容错HealthIndicator(SC)、Hystrix(SC)、HealthCheck(K)、Process Check(K)
分布追踪Zipkin
指标中心Heapster、Promethues、Grafana
日志中心EFK
作业管理Spring Batch(SC)、Scheduled Job(K)
负载均衡Ribbon(SC)、Service(k)
服务发现Service(K)
配置管理Externalized Configurations(SC)、ConfigMap(K)、Secret(K)
服务逻辑Apache Camel(SC)、Spring Framework(SC)
应用打包Spring Boot maven plugin(SC)
发布调度Deployment strategy(K)、A/B(K)、Canary(K)、Scheduler strategy(K)
进程隔离Docker(K)、Pods(K)
环境管理Namespaces(K)、Authorizations(K)
资源管理CPU 内存管控(K)、命名空间资源配额(K)
IaaSGEC、Azure、CenturyLink、VMware、Openstack

 

末了

重新总结了一下文中提到的内容:弹力设计、弹力设计总概览、开发运维实践。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值