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

2024-02-04 09:32
文章标签 设计 总结 day 20 弹力 01.04

本文主要是介绍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

 

末了

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

这篇关于01.04 Day 20 - 弹力设计篇之“弹力设计总结”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/677023

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

二分最大匹配总结

HDU 2444  黑白染色 ,二分图判定 const int maxn = 208 ;vector<int> g[maxn] ;int n ;bool vis[maxn] ;int match[maxn] ;;int color[maxn] ;int setcolor(int u , int c){color[u] = c ;for(vector<int>::iter

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

状态dp总结

zoj 3631  N 个数中选若干数和(只能选一次)<=M 的最大值 const int Max_N = 38 ;int a[1<<16] , b[1<<16] , x[Max_N] , e[Max_N] ;void GetNum(int g[] , int n , int s[] , int &m){ int i , j , t ;m = 0 ;for(i = 0 ;