consul

Nacos Go 微服务生态系列(一)| Dubbo-go 云原生核心引擎探索

我与影子孤独终老i 提交于 2021-01-09 23:55:06
简介: 作为微服务框架的核心引擎--注册中心,是必不可缺少的组件,市面已经有多款注册中心支持 Go 语言,应该如何选择呢?我们可以对目前主流的支持 Go 语言的注册中心做个对比。 作者 | 李志鹏 近几年,随着 Go 语言社区逐渐发展和壮大,越来越多的公司开始尝试采用 Go 搭建微服务体系,也涌现了一批 Go 的微服务框架,如 go-micro、go-kit、Dubbo-go 等,跟微服务治理相关的组件也逐渐开始在 Go 生态发力,如 Sentinel、Hystrix 等都推出了 Go 语言版本,而作为微服务框架的核心引擎--注册中心,也是必不可缺少的组件,市面已经有多款注册中心支持 Go 语言,应该如何选择呢?我们可以对目前主流的支持 Go 语言的注册中心做个对比。 图 1 根据上表的对比我们可以从以下几个维度得出结论: 生态 :各注册中心对 Go 语言都有支持,但是 Nacos、 Consul、Etcd 社区活跃,zookeeper 和 Eureka 社区活跃度较低; 易用性 :Nacos、Eureka、Consul 都有现成的管控平台,Etcd、zookeeper 本身作为 kv 存储,没有相应的管控平台,Nacos 支持中文界面,比较符合国人使用习惯; 场景支持 :CP 模型主要针对强一致场景,如金融类,AP 模型适用于高可用场景,Nacos 可以同时满足两种场景

Nacos Go微服务生态系列(一) | Dubbo-go 云原生核心引擎探索

江枫思渺然 提交于 2021-01-09 22:57:56
作者:李志鹏, Github账号:Lzp0412,开源社区爱好者,Nacos Committer,Nacos-SDK-go作者,现就职于阿里云云原生应用平台,主要参与服务发现、CoreDNS、ServiceMesh相关工作,负责推动Nacos Go微服务生态建设。 近几年,随着Go语言社区逐渐发展和壮大,越来越多的公司开始尝试采用Go搭建微服务体系,也涌现了一批Go的微服务框架,如go-micro、go-kit、Dubbo-go等,跟微服务治理相关的组件也逐渐开始在Go生态发力,如Sentinel、Hystrix等都推出了Go语言版本,而作为微服务框架的核心引擎--注册中心,也是必不可缺少的组件,市面已经有多款注册中心支持Go语言,应该如何选择呢?我们可以对目前主流的支持Go语言的注册中心做个对比。 根据上表的对比我们可以从以下几个维度得出结论: 生态: 各注册中心对Go语言都有支持,但是Nacos、 Consul、Etcd 社区活跃,zookeeper和Eureka社区活跃度较低; 易用性: Nacos、Eureka、Consul都有现成的管控平台,Etcd、zookeeper本身作为kv存储,没有相应的管控平台,Nacos支持中文界面,比较符合国人使用习惯; 场景支持: CP模型主要针对强一致场景,如金融类,AP模型适用于高可用场景,Nacos可以同时满足两种场景,Eureka

用太极拳讲分布式理论,真舒服!

∥☆過路亽.° 提交于 2021-01-04 02:57:37
边看边听真舒服,人生短短几个秋... 倚天屠龙记中 赵敏 郡主携带一帮高手围攻武当,武当派掌门 张三丰 被暗算,传了一套武功给 张无忌 用来对付赵敏的手下。这套武功就是 太极拳 。 ❝ 张三丰 :无忌,我教你的还记得多少? 张无忌 :我全忘了! 张三丰 :很好,你只要记住把玄冥二老打趴下就可以了。 上篇 用 三国杀 讲分布式中的拜占庭将军问题,还挺有意思的,这次我们用 倚天屠龙记 中的 太极拳 来聊下剩下的 三大理论 : CAP 理论 ACID 理论 BASE 理论 ❝ 太极拳的精髓:以柔克刚,刚柔并进,四两拨千斤,无招胜有招。 我把 CAP 理论称作 太极 ,ACID 理论称为 阳 或 刚 ,BASE 理论称为 阴 或 柔 。ACID 理论追求一致性,BASE 理论本来就叫做柔性事务,追求的是可用性。那张无忌为什么会全忘了还打败了玄冥二老呢?因为太极拳的精髓是拳意,无招胜有招。 1、太极的两面 CAP 理论是对分布式系统的特性做了一个高度的抽象,变成了三大指标: 一致性(Consistency) 可用性(Availability) 分区容错性(Partition Tolerance) 分布式中的一致性,我们可以理解为客户端的每次 读操作 ,不管访问的是哪个几点,要么读到的都是同一份最新写入的数据,要么读取失败。这就很刚了,不能说这种 刚 不好,在很多场景中

基于prometheus打造分布式监控系统

霸气de小男生 提交于 2020-12-24 13:45:31
规划使用版本 产品名称 版本 url地址 prometheus 2.22.1 https://github.com/prometheus/prometheus/releases/tag/v2.22.1 alertmanager v0.21.0 https://github.com/prometheus/alertmanager/releases/tag/v0.21.0 consul 1.8.5 docker.io/consul consulR latest https://github.com/qist/registy-consul-service/releases victoriametrics v1.50.2 https://github.com/VictoriaMetrics/VictoriaMetrics/releases kube-prometheus v0.43.2 https://github.com/prometheus-operator/kube-prometheus kube-prometheus 修改版本 https://github.com/qist/k8s/tree/master/k8s-yaml/kube-prometheus grafana v7.3.2 docker.io/grafana/grafana 部署环境 部署环境 部署IP 部署方式

Go微服务入门到容器化实践,落地可观测的微服务电商项目

丶灬走出姿态 提交于 2020-12-20 00:13:54
Go微效勞入門到容器化理論,落地可觀測的微效勞電商項目 下载地址: 百度云盘 關於真正微效勞項目來說,效勞開發只是第一步,容器化、弹性伸缩和可觀測才是真正關键。本课程將經過電商項目實戰,係統學習完整形態的微效勞,控製成熟閉環的落中央案。 技術請求 有Go實践開發經歷 控製Linux操作 純熟控製MySQL 環境參數 開發言语:Golang 開發平台:Windows 10 開發工具:GoLand 章節目錄: 第1章 课程引見與學習指南 試看 课程的引見、學習道路與指南,如何更好的學習本课程 共 1 節 (6分鍾) 收起列表 1-1 本课的go微效勞有什麼不同? (05:34) 試看 第2章 Go微效勞引見與容器化入門 試看 课程是以go-micro爲主的技術栈,本章解說其transport通訊層grpc原理。以及grpc數據的傳輸序列化和反序列化protobuf的原理 共 6 節 (101分鍾) 收起列表 2-1 微效勞根底引見 (19:17) 2-2 微效勞必備技藝Docker 入門引見 (18:48) 2-3 go-micro根底之 grpc protogo-micro 組件架構及通訊原理 (12:28) 試看 2-4 go-micro根底之 grpc proto (20:29) 2-5 go-micro 入門案例考證 (14:41) 2-6 go-micro 入門案例編寫

spring cloud-跨区域集群部署

倾然丶 夕夏残阳落幕 提交于 2020-12-17 15:24:27
基于springCloud Gateway ,自定义路由规则的方式实现跨区域集群部署。 API 服务 指定 spring.cloud.consul.discovery.instanceZone参数指定 zone 注册到 consul Oauth2ApiApplication server.port=9501;spring.cloud.consul.discovery.instanceZone=zone1 Oauth2ApiApplication-2 server.port=9502;spring.cloud.consul.discovery.instanceZone=zone2 Oauth2ApiApplication-3 server.port=9503;spring.cloud.consul.discovery.instanceZone=zone1 gateway 服务同样通过 指定 spring.cloud.consul.discovery.instanceZone参数指定 zone 从 consul 获取服务 Oauth2GatewayApplication server.port=8080;spring.cloud.consul.discovery.instanceZone=zone1 Oauth2GatewayApplication-2 server.port=8081

docker跨主机通信

落爺英雄遲暮 提交于 2020-12-17 05:22:35
序言 脑子里不知道想啥,感觉都是浆糊。。。都是水。。。 脑子里总是飘着奇怪的数字,2379,2376,6379。。。各种各样的端口,长的都差不多,写着写着就忘记了哪个数字是哪个服务了。。。。错了一个端口,浪费8个小时。。。 大写的FUCK 在跨主机通信的时候,可以使用各种各样的驱动,然而总是在需要通信的那一刻终止。。。。到底是什么阻挡了脚步?是因为爱吗?还是因为责任呢。。。。 是什么挡住了那无穷的想象力 。。。 在通信不顺畅的时候,抓包。。。请求都收不到。。。防火墙。。。开放一个端口,不够。。。再来一个。。。FUCK。。。都没有想到是这个端口号记错了。。。 在一台机器上操作的时候,能够流畅无比,但是,在集群环境下,那就只能just fuck了。。。。各种各样的环境依赖,服务依赖。。。错了一小步,就会导致无法回头的错误。。。 使用docker-machine批量安装docker环境 在一个集群环境中,想批量安装docker环境并配置服务,有很多种方式,在这里选择的是使用docker-machine进行安装,架构如下: 1、 安装docker-machine 在使用docker-machine进行批量安装docker的时候,首先安装docker-machine,如下: [root@docker-ce ~]# curl -L https://github.com/docker

Docker跨主机通信(九)

主宰稳场 提交于 2020-12-17 05:01:07
容器网络 在前面的博客中已经详细讲解了几种网络方案: none, host, bridge,user-defined。但是他们只是解决了单个主机间的容器的通信问题,并不能实现多个主机容器之间的通信。本篇博客将详细介绍如何实现该功能。 跨主机网络方案包括两大类: docker原生的:overlay和macvlan 第三方方案:flannel、weave和calico 本篇博客将详细讲解overlay以及weave两种方案。 overlay Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。 在 docker 主机 host1(172.20.10.2)和 host2(172.20.10.7)上实践各种跨主机网络方案,在 172.20.10.2 上部署支持的组件,比如 Consul。 第一步:启动路由转发功能 两台主机上面都需要开启 [root@ken3 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward 第二步:运行consul 最简单的方式是以容器方式运行 Consul: [root@ken1 ~]# docker run -d

架构师都该懂的 CAP 定理

痴心易碎 提交于 2020-12-12 19:53:34
面对可能出现的网络延迟,不可预估的请求流量等情况,设计一个分布式系统,我们通常围绕系统高可用,数据一致性的目标去规划和实现,想要完全实现这个目标,却并非易事。由此,分布式系统领域诞生了一个基本定理,即 CAP 定理,用于指导分布式系统的设计,从系统高可用,数据一致性,网络容错三个角度将分布式系统的特性抽成一个分区容错一致性模型。这样一来,让系统设计者只需根据业务场景特点,进行权衡设计适合业务场景的分区容错一致性模型即可,很大程度简化了分布式系统设计的难度。 也因此,CAP 定理是架构师所必须要掌握的内容,它影响着架构师对分布式系统的技术选型,技术决策。既然如此重要,接下来,我们就一起学习下 CAP 定理吧。 什么是 CAP CAP 定理最初是由加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想,也因此被叫做布鲁尔定理。后来在 2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希·林奇(Nancy Lynch)发表了 CAP 定理的证明,让它成为分布式系统领域公认的一个定理。 CAP 定理指出了,在一个跨区域网络连接,共享数据的分布式系统中,一致性(Consistency),可用性(Availability)和分区容错性(Partition Tolerance)

1

泄露秘密 提交于 2020-12-10 04:11:30
配置 consul 的 UI 界面,UI 端口为 8500;curl consul 的 web 界面状态为301 vim /data/bkce/etc/supervisor-consul.conf command=/usr/bin/consul agent -config-file=/data/bkce/etc/consul.conf -config-dir=/data/bkce/etc/consul.d -ui -client 172.27.16.113 ./bkcec stop consul ./bkcec start consul curl -I http://consul.sdlclp.com/ 在 nginx 配置 consul 的 UI 服务反向代理,访问域名为 consul-(考试编号).bkty.xyz vim /data/bkce/etc/nginx/consul.conf(在此目录下增加consul.conf文件,复制cmdb.conf即可) # vim:ft=nginx upstream OPEN_CONSUL{ server 172.27.16.131:8500 weight=1; server 172.27.16.113:8500 weight=1; server 172.27.16.83:8500 weight=1; } server { listen