大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
X:一个服务器不行就多来几个服务器
Y:一个项目切成很多部分
Z:将数据进行切分 ,使用不同的数据库
微服务的优缺点
SpringCloud
部署注册中心:
设置配置文件,首先改为yml文件
开启后 访问localhost:8761
在Application里面就可以看到配置的注册中心了。
但是在实际操作中,往往不用显示这个注册中心,所以在配置的时候加上一句话:
再次开启 ,就没有了。
这样注册中心就加载完毕;接下来设置客户端
客户端
开启注册中心客户端
配置yml文件,配置了这个,就把客户机注册到8761里面去了。
运行
现在来配置多个端口:
点击
现在就可以看到客户端的三个端口了
关闭8080端口,在等一会儿(说的是30s其实不止)
会发现这里就少了一个。
部署了这三个项目,以后想访问这三个项目该如何访问?
这样对用户不方便,因为这样访问的时候还需要用户输入ip地址。这个时候就用到了网关功能(Gateway)
将来我开发一个网关,这个网关对外提供接口,所有用户上来之后直接访问网关,网关看你访问的哪个功能,哪个服务,再到注册中心里面去路由,查找,通过注册中心找到你的服务之后,把你的请求路由过去。这样一来的话客户端的所有用户就不用访问某个单独的具体项目了,想访问就通过网关访问即可。
接下来来
配置网关
新建一个项目,用来承担网关的功能:
网关也是注册中心的一个客户端:
启动,这就可以在注册中心看到网关了
现在不知道访问的是哪个端口,在8081 8080那个页面注入一下端口号,让他显示到页面上去:
现在回到刚才的页面刷新,发现每刷新一次,都会发生变化
这是因为:负载均衡
这样会出现一个问题:当8786注册中心挂掉了 怎么办:?
通过试验,网关第一次访问某个页面的时候会去注册中心找,找到以后会产生缓存,这个时候即使注册中心8786挂掉了还是可以访问8080 8081 8082这些端口。
但是其他没有访问,没有缓存的端口就无法访问了,这就是低可用:一个服务器完蛋了,整个系统就完了。
所以现在开始用 **高可用:**互相注册,彼此添加信息,
高可用配置
来到之前的注册中心:
注册两个端口,实现8761向8762注册,8762向8761注册。
开启8761服务器后,修改yml文件,再开启8762的
现在访问8761
再访问8762
那么现在有两个服务端了,注册端的yml文件里面配置的,应该向谁注册?
同时配置两个
网关里面也一样:
重新启动,同时向两个注册中心注册。
这样就完成了高可用。
每次部署注册中心的时候,启动8761改8762 启动8762时候改8761这一步很麻烦,怎么简化?
1.建立不同后缀的yml配置文件,启动的时候调用不同的配置文件即可
2.一个配置文件里面写多个环境,用横杠分开。
在启动项里面设置激活配置文件:active files
接下来照常启动即可。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171863.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...