热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

注册中心ServiceCenter同步搭建

1.Service-Center注册中心1.1SC的下载下载地址:https:github.comapacheservicecomb-service-cente

1. Service-Center注册中心


1.1 SC的下载

下载地址:

https://github.com/apache/servicecomb-service-center/releases

下载最新的 2.1.0 版本(根据自身OS选择合适的软件包),下载后可直接运行。

# 第一步
start-service-center.sh (Linux/Mac) / start-service-center.bat(Windows)
# 第二步
start-frontend.sh(Linux/Mac) / start-frontend.bat(Windows)

前段访问页面:http://127.0.0.1:30103/

在这里插入图片描述

这边使用内置的 db 所以可直接使用




1.2 etcd 高可用集群搭建

这边可参考官方文档:

https://etcd.io/docs/v3.5/op-guide/clustering/

https://etcd.io/docs/v3.5/op-guide/security/

https://blog.51cto.com/mageedu/2699744

1.3 二进制编译

一、前提:配置好go sdk,下载地址:https://go.dev/dl/

二、下载代码库

https://github.com/apache/servicecomb-service-center.git

三、解决依赖

go module 是go语言从1.11版本之后官方推出的版本管理工具。

proxy代理设置:https://goproxy.cn/

# Download the modules
GO111MODULE=on
go mod download

四、编译

go build -o service-center github.com/apache/servicecomb-service-center/cmd/scserver

GO可以跨平台编译,重点关注

GOOS=windows //程序构建环境目前OS

GOARCH=amd64 //程序构建环境的目标计算架构


1.4 API信息

地址:https://github.com/apache/servicecomb-service-center/blob/master/docs/openapi/v4.yaml

1.5 更多资料

可以查看使用手册以及官网的readme:

1.https://service-center.readthedocs.io/en/latest/

2.https://github.com/apache/servicecomb-service-center

1. Service-Center注册中心


1.1 SC的下载

下载地址:

https://github.com/apache/servicecomb-service-center/releases

下载最新的 2.1.0 版本(根据自身OS选择合适的软件包),下载后可直接运行。

# 第一步
start-service-center.sh (Linux/Mac) / start-service-center.bat(Windows)
# 第二步
start-frontend.sh(Linux/Mac) / start-frontend.bat(Windows)

前段访问页面:http://127.0.0.1:30103/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dhgb1TQK-1647865258158)(./img/front.png)]

这边使用内置的 db 所以可直接使用




1.2 etcd 高可用集群搭建

这边可参考官方文档:

https://etcd.io/docs/v3.5/op-guide/clustering/

https://etcd.io/docs/v3.5/op-guide/security/

https://blog.51cto.com/mageedu/2699744

1.3 二进制编译

一、前提:配置好go sdk,下载地址:https://go.dev/dl/

二、下载代码库

https://github.com/apache/servicecomb-service-center.git

三、解决依赖

go module 是go语言从1.11版本之后官方推出的版本管理工具。

proxy代理设置:https://goproxy.cn/

# Download the modules
GO111MODULE=on
go mod download

四、编译

go build -o service-center github.com/apache/servicecomb-service-center/cmd/scserver

GO可以跨平台编译,重点关注

GOOS=windows //程序构建环境目前OS

GOARCH=amd64 //程序构建环境的目标计算架构


1.4 API信息

地址:https://github.com/apache/servicecomb-service-center/blob/master/docs/openapi/v4.yaml

1.5 更多资料

可以查看使用手册以及官网的readme:

1.https://service-center.readthedocs.io/en/latest/

2.https://github.com/apache/servicecomb-service-center

2. 演示


2.1 安装概述


2.1.1 部署拓扑

在这里插入图片描述

  • sc 为注册中心,本组件为无状态服务,可根据系统规模部署多个
  • etcd 高可用集群至少需要 3 个节点

按照上述的部署拓扑需要 8 台vm。

2.1.2 安装流程

在这里插入图片描述

2.2 安装前准备


2.2.1 准备环境

我这边是个人机子安装了虚拟机。由于我这边个人机子资源有限,只申请了 6 台虚拟机。

OS: Centos 7

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KPuzFQag-1647865278897)(./img/vm.png)]

vm-ip
192.168.81.128region-1
192.168.81.129region-1
192.168.81.130region-1
192.168.81.131region-2
192.168.81.132region-2
192.168.81.133region-2

2.2.2 获取软件包


etcd 根据要求获取相应版本建议3xx,我这边使用了最新的版本。


  • SC:https://github.com/apache/servicecomb-service-center/releases
  • ETCD:https://github.com/etcd-io/etcd/releases

在这里插入图片描述
在这里插入图片描述

2.3 安装操作


2.3.1 安装 etcd


https://etcd.io/docs/v3.5/op-guide/clustering/

这边需要注意:如果你机子单独有固态盘的话,可以把 etcd 安装在固态上,提高性能。

region-1

前提:包已经上传到虚拟机的制定目录,并解压进入3 台 etcd 所在目录,执行(这一块可以由systemd去维护),需要创建下数据以及日志存放的位置。./etcd --name=etcd-01 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.128:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.128:2379 \
--listen-peer-urls=http://192.168.81.128:2380 \
--initial-advertise-peer-urls=http://192.168.81.128:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.128:2380,etcd-02=http://192.168.81.129:2380,etcd-03=http://192.168.81.130:2380 \
--initial-cluster-state new ./etcd --name=etcd-02 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.129:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.129:2379 \
--listen-peer-urls=http://192.168.81.129:2380 \
--initial-advertise-peer-urls=http://192.168.81.129:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.128:2380,etcd-02=http://192.168.81.129:2380,etcd-03=http://192.168.81.130:2380 \
--initial-cluster-state new ./etcd --name=etcd-03 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.130:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.130:2379 \
--listen-peer-urls=http://192.168.81.130:2380 \
--initial-advertise-peer-urls=http://192.168.81.130:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.128:2380,etcd-02=http://192.168.81.129:2380,etcd-03=http://192.168.81.130:2380 \
--initial-cluster-state new

可以通过etcd --help查看启动参数说明

如何检验etcd集群是否安装成功

./etcdctl --endpoints=http://192.168.81.128:2379 endpoint status --cluster -w table

在这里插入图片描述

看上图可知,ip为192.168.81.128节点选为 leader。


region-2

./etcd --name=etcd-01 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.131:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.131:2379 \
--listen-peer-urls=http://192.168.81.131:2380 \
--initial-advertise-peer-urls=http://192.168.81.131:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.131:2380,etcd-02=http://192.168.81.132:2380,etcd-03=http://192.168.81.133:2380 \
--initial-cluster-state new ./etcd --name=etcd-02 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.132:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.132:2379 \
--listen-peer-urls=http://192.168.81.132:2380 \
--initial-advertise-peer-urls=http://192.168.81.132:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.131:2380,etcd-02=http://192.168.81.132:2380,etcd-03=http://192.168.81.133:2380 \
--initial-cluster-state new ./etcd --name=etcd-03 \
--data-dir=/var/lib/etcd/default.etcd \
--log-outputs=/var/lib/etcd/log \
--listen-client-urls=http://192.168.81.133:2379,http://127.0.0.1:2379 \
--advertise-client-urls=http://192.168.81.133:2379 \
--listen-peer-urls=http://192.168.81.133:2380 \
--initial-advertise-peer-urls=http://192.168.81.133:2380 \
--initial-cluster-token=etcd-cluster \
--initial-cluster etcd-01=http://192.168.81.131:2380,etcd-02=http://192.168.81.132:2380,etcd-03=http://192.168.81.133:2380 \
--initial-cluster-state new

查询:

./etcdctl --endpoints=https://192.168.81.131:2379 endpoint status --cluster -w table

在这里插入图片描述

2.3.2 安装 ServiceCenter


确保这边获取的是SC,2.1.0版本的包。

在这里插入图片描述

如上图,包解压后包含的一些内容,首先需要配置修改 conf 目录中的文件,启动 start-service-center.shstart-frontend.sh


修改conf中的文件

app.conf

在这里插入图片描述

修改 frontend_host_ip 和 httpaddr,为本级的 ip 地址。

app.yaml

在这里插入图片描述

在这里插入图片描述

修改

1.server.host

2.REGISTRY_KIND

3.REGISTRY_ETCD_CLUSTER_NAME

4.REGISTRY_ETCD_CLUSTER_MANAGER_ENDPOINTS

5.REGISTRY_ETCD_CLUSTER_ENDPOINTS

chassis.yaml

在这里插入图片描述

修改 listenAddress 为本机的 ip 地址。

syncer.yaml

在这里插入图片描述

开启 enableOnStart 开关,以及修改endpoints,region-2中的sc机子ip。

重复上述操作,去修改其他机子上的 sc 的配置

然后在各个机子上运行

start-service-center.shstart-frontend.sh

打开随意一个节点的前端界面:

http://192.168.81.128:30103/

在这里插入图片描述

在这里插入图片描述

2.4 安装后验证

curl -k http://192.168.81.128:30100/health

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如上图所示,请求创建一个服务,创建成功后以及同步到另外一个 region 了。

github地址:https://github.com/robotLJW/sc-sermant-guide


推荐阅读
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • phpcomposer 那个中文镜像是不是凉了 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
author-avatar
爱心永溢真情永远
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有