九、Consul服务注册与发现
九、Consul服务注册与发现1、Consul简介【1】consul是什么?
Consul是一种服务网格解决方案,提供具有服务发现,配置和分段功能的全功能控制平面。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建完整的服务网格。Consul需要一个数据平面,并支持代理和本机集成模型。Consul附带了一个简单的内置代理,因此一切都可以直接使用,还支持Envoy等第三方代理集成。
Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。
提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格,总之Consul提供了一种完整的服务网格解决方案。
它具有很多优点。包括: 基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN 集群 提供图形界面 跨平台,支持 Linux、Mac、Windows
【2】consul能干啥?
服务发现:Consul的客户端可以注册服务,例如a ...
八、Zookeeper服务注册与发现
八、Zookeeper服务注册与发现1、注册中心Zookeeper的相关说明【1】zookeeper是一个分布式协调工具,可以实现注册中心功能
【2】关闭Linux服务器防火墙后启动zookeeper服务器关闭linux的防火墙12systemctl stop firewalldsystemctl status firewalld
使用docker启动Zookeeper:(docker的操作可以看这篇:Docker基础入门学习笔记)12345#拉取Zookeeper镜像docker pull zookeeper#启动Zookeeperdocker run --name zk01 -p 2181:2181 --restart always -d zookeeper
【3】zookeeper服务器取代Eureka服务器,zk作为服务注册中心服务节点是临时节点还是持久节点?zookeeper也是有心跳机制,在一定时间内如果一直没有心跳返回,zookeeper就会把服务节点剔除掉。所以在zookeeper上的服务节点是临时节点。
2、服务提供者的相 ...
七、Eureka服务注册与发现(集群Eureka构建步骤)
七、Eureka服务注册与发现(集群Eureka构建步骤)1、Eureka集群原理说明
问题:微服务RPC远程服务调用最核心的是什么 ?高可用,试想你的注册中心只有一个only one, 它出故障了那就呵呵( ̄▽ ̄)”了,会导致整个为服务环境不可用,所以解决办法:搭建Eureka注册中心集群 ,实现负载均衡+故障容错
Eureka集群:相互注册、相互守望
2、EurekaServer集群环境构建步骤【1】参考cloud-eureka-server7001,新建cloud-eureka-server7002
【2】改pom123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0 ...
六、Eureka服务注册与发现(单机Eureka构建步骤)
1、Eureka基础知识【1】什么是服务治理
Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务治理
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。
【2】什么是服务注册与发现
Eureka采用了CS的设计架构,Eureka Server 作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用 Eureka的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息 比如 服务地址通讯地址等以别名方式注册到注册中心上。另一方(消费者|服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用。RPC远程调用框架核心设计思想在于注册中心,因为使用注册中心管理每个服务与服务之 ...
无题
Golang运行在 Apple M1 相关配置1、安装包下载官方下载地址: https://golang.google.cn/dl/ ,下载下图选中的安装包。防止大家无法访问 google ,我上传到了阿里云盘,下载地址 https://www.aliyundrive.com/s/5VKsoZbmCrw
2、安装【1】打开下载的go1.16.6.darwin-arm64.pkg 双击打开,然后一路 继续
【2】go默认会安装在usr/local目录下
3、配置 Go 环境【1】编辑配置信息,修改默认的环境变量配置修改 vim ~/.bash_profile 或者 vim ~/.zshrc1vim ~/.zshrc
【2】增加 Go 配置,需要设置的环境变量包括:GOPATH ,GOBIN 以及把GOBIN加入到PATH中,GOROOT变量默认已经设置好。1234567891011121314# GOROOT:go的安装路径export GOROOT=/usr/local/go# GOPATH:go的项目保存路径,这个自己找个地方保存就可以了# 本人习惯在ho ...
五、微服务架构编码构建——cloud-consumer-order80 微服务消费者Module
五、微服务架构编码构建—cloud-consumer-order80 微服务消费者Module1、新建模块
2、改pom123456789101112131415161718192021222324252627282930313233343536373839404142<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId> ...
四、微服务架构编码构建——cloud-provider-payment8001微服务提供者支付Module
四、微服务架构编码构建—cloud-provider-payment8001微服务提供者支付Module1、微服务工程构建步骤【1】消费者-提供者调用关系
【2】服务提供者创建步骤
建moudle
改pom
写yml
主启动
业务类
测试
2、微服务提供者支付moudle模块cloud-provider-payment8001【1】新建模块(建moudle)
【2】看一下父项目的pom文件,多了一项。说明父子工程已经关联上了
【3】cloud-provider-payment8001的pom文件添加内容(改pom)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://m ...
三、微服务架构编码构建——创建父工程
三、微服务架构编码构建—创建父工程1、编程风格:约定 > 配置 > 编码2、创建微服务整体聚合父工程Project步骤【1】新建一个Project
【2】聚合总父工程名字
【3】Maven选版本
【4】字符编码
【5】注解生效激活
【6】java编译版本选择8(也可以在maven中添加properties,然后reimport maven即可)
【7】File Types过滤(目的是让我们的project下的文件只显示我们需要的)
【8】父工程的pom(删除src目录和除pom文件外的所有文件)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111<?xml version=& ...
二、SpringCloud与SpringBoot版本的对应关系|相关组件的停更/升级/替换
二、SpringCloud与SpringBoot版本的对应关系|相关组件的停更/升级/替换1、官方json信息对应关系:http://start.spring.io/actuator/info
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124{ "git":{ "branch":"1a7ebc6f818614734aa5f1d7a982d1e6231fcce7", "commit": ...
CentOS7 相关Linux命令
CentOS7相关Linux命令1、常用Linux通用命令123456789101112131415161718192021222324252627282930313233# 查看当前目录下的内容ls# 查看当前所在目录pwd# 切换目录cd [目录名]# 如果文件不存在,新建文件touch [文件名]# 创建目录mkdir [目录名]# 删除指定文件rm [文件名]# 执行Linux命令时,提示信息如果显示为乱码,这是由于编码问题导致,只需要修改Linux的编码即可,命令如下:echo 'LANG="en_US.UTF-8"' >> /etc/profilesource /etc/profile# Tab键自动补全# 连续两次Tab键,给出操作提示# 使用上下箭头快速调出曾经使用过的命令# 使用clear命令或者Ctrl+l快捷键实现清屏# linux命令格式# command:命令名# [-options]: 选项,可用来对命令进行控制,也可以省略# [parameter]:传给命令的参数,可以是零个、一个或者多个command ...