?
?
融数数据基于Kubernetes的微服务治理和构建平台
?
?
?
DNS:
A——IP地址
CName ——主机名
PTR——与A相反
SRV——DNS SRV是DNS记录中一种,用来指定服务地址。与常见的A记录、cname不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重。访问服务的时候,本地的DNS resolver从DNS服务器查询到一个地址列表,根据优先级和权重,从中选取一个地址作为本次请求的目标地址。
?
?
?
我们都知道 CAP 是 Eric Brewer 提出的分布式系统三要素:强一致性 (Consistency)可用性 (Availability)分区容忍性 (Partition Tolerance)
几乎所有的服务发现和注册方案都是 CP 系统,也就是说满足了在同一个数据有多个副本的情况下,对于数据的更新操作达到最终的效果和操作一份数据是一样的,但是在出现网络分区(分区间的节点无法进行网络通信)这样的故障的时候,在节点之间恢复通信并且同步数据之前,一些节点将会无法提供服务(一些系统在节点丢失的情况下支持 stale reads )。
?
?
?
服务发现之 Etcd VS Consul
?
值得注意的是,分布式系统中的数据分为控制数据和应用数据。使用etcd的场景默认处理的数据都是控制数据,对于应用数据,只推荐数据量很小,但是更新访问频繁的情况。
?
?
抄自这里
?
************************************************************************************************
网上找来找去都是zk和etcd的比较,和consul的比较很少,这个感觉还算靠谱,也在别的地方看到过对consul的吐槽,记录下
************************************************************************************************
?
导语
在分布式微服务架构中,一个应用可能由一组职责单一化的服务组成。这时候就需要一个注册服务的机制,注册某个服务或者某个节点是可用的,还需要一个发现服务的机制来找到哪些服务或者哪些节点还在提供服务。
在实际应用中,通常还都需要一个配置文件告诉我们一些配置信息,比如数据连接的地址,redis 的地址等等。但很多时候,我们想要动态地在不修改代码的情况下得到这些信息,并且能很好地管理它们。
有了这些需求,于是发展出了一系列的开源框架,比如 ZooKeeper, Etcd, Consul 等等。
这些框架一般会提供这样的服务:
服务注册主机名,端口号,版本号,或者一些环境信息。
服务发现可以让客户端拿到服务端地址。
一个分布式的通用 k/v 存储系统基于 Paxos 算法或者 Raft 算法
领导者选举 (Leader Election)
其它一些例子:分布式锁 (Distributed locking)原子广播 (Atomic broadcast)序列号 (Sequence numbers)…
我们都知道 CAP 是 Eric Brewer 提出的分布式系统三要素:强一致性 (Consistency)可用性 (Availability)分区容忍性 (Partition Tolerance)
几乎所有的服务发现和注册方案都是 CP 系统,也就是说满足了在同一个数据有多个副本的情况下,对于数据的更新操作达到最终的效果和操作一份数据是一样的,但是在出现网络分区(分区间的节点无法进行网络通信)这样的故障的时候,在节点之间恢复通信并且同步数据之前,一些节点将会无法提供服务(一些系统在节点丢失的情况下支持 stale reads )。
ZooKeeper 作为这类框架中历史最悠久的之一,是由 Java 编写。Java 在许多方面非常伟大,然而对于这种类型的工作还是显得有些沉重,也正因为其复杂性和对新鲜事物的向往,我们第一时间就放弃了选择它。
本文将从协议和应用层来比较 Etcd 和 Consul,并最终给出了笔者的偏好。
Etcd
Etcd 是一个使用 go 语言写的分布式 k/v 存储系统。考虑到它是 coreos 公司的项目,以及在 GitHub 上的 star 数量 (9000+),Google 著名的容器管理工具 Kuberbetes 就是基于 Etcd 的。我们最先考虑的就是它。
在介绍 Etcd 之前,我们需要了解一些基本的概念。我们知道在单台服务器单个进程中维护一个状态是很容易的,读写的时候不会产生冲突。即便在多进程或者多线程环境中,使用锁机制或者协程
您可能关注的文档
- SpringBoot与Kubernetes云原生微服务技术实战.docx
- flutter学习之-Material Design设计规范.docx
- 微服务商城系统订单、支付流程分析.docx
- Quill基本使用和配置指南-DevUI.docx
- AI(人工智能)园区顶层设计方案.docx
- Java并发编程与高并发解决方案 (2).docx
- Docker入门到实践-IDEA集成Docker构建容器镜像部署项目.docx
- java植物大战僵尸思路-JAVA课程设计.docx
- jenkins+Docker+springcloud微服务持续集成.docx
- 数据新基建白皮书,释放数据生产力.docx
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 17J925-1_压型金属板建筑构造.docx VIP
- 2026春新人教版数学二年级下册全册教学课件.ppt
- 2026年江西机电职业技术学院单招职业技能测试题库含答案详解.docx VIP
- 部编版道德与法治四年级下册第一单元第3课《当冲突发生》课件.pptx VIP
- 单孔腹腔镜妇科手术实操指南.ppt
- 装饰装修工程事故案例分析报告.docx VIP
- 中国创新药械多元支付白皮书(2025).pdf VIP
- 2025天津市自来水集团有限公司人才引进招聘7人备考试题及答案解析.docx VIP
- 学堂在线人工智能原理(北大)章节测试答案.pdf VIP
- LEGO乐高积木拼砌说明书21323,钢琴,LEGO®Ideas(年份2020)安装指南_第2份共2份.pdf
原创力文档

文档评论(0)