我们在开发 Spring Cloud 微服务时候由于本机内存有限,无法同时启动多个微服务,我们如果搞? PS: 如笔记本 8G 内存本地运行 10 个微服务,基本上是是卡死状态。为了尽量达到无需配置本地环境就可以通过隧道连接云端服务器的环境进行的开发。
针对Java应用内存不够,可以在 IDEA 的应用面板设置 VM options 参数 -Xms128m -Xmx256m
,来降低每个服务的内存占用,但是这并不是根本解决问题的办法,更好的方案见2、。
wget -N --no-check-certificate https://raw.githubusercontent.com/Lcry/Command-file/master/centos7init.sh && sh centos7init.sh LcryCentos7
或者
curl -LJO https://raw.githubusercontent.com/Lcry/Command-file/master/centos7init.sh && sh centos7init.sh lcryCentos7
# If you’re willing to rely on SSL to authenticate the site, a one line install can be done with:
curl -s https://install.zerotier.com | sudo bash
# If you have GPG installed, a more secure option is available:
curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \
if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi
官方网站下载地址: https://www.zerotier.com/download/
概念:ZeroTier is a smart Ethernet switch for planet Earth.(用于地球的智能以太网交换机)通俗来讲就是 Peer to Peer
(P2P) ,ZeroTier 根服务器记录请求路径来做类似于 DNS 的解析。主要功能,就是可以把多个不同网络的设备连接在一起,用来就像在一个局域网下 如下图:
Zerotier 定义了几个专业名词:
zerotier-cli join + 生成的16位ID #创建网络生成的16位ID
9993
# 这里为了有写入文件的权限
sudo chmod 777 /var/lib/zerotier-one
cd /var/lib/zerotier-one
sudo zerotier-idtool initmoon identity.public > moon.json
"stableEndpoints": ["主机ip1/9993","主机ip2/9993"] #修改为VPS公网IP/9993
还需要注意
moon.json
中的 id 值,它是 MOON 服务器的 ID,是一个 10 位的字符串,也可以用sudo zerotier-cli info
查看,后面会用到。
zerotier-idtool genmoon moon.json
# 此ID 非常重要对应 唯一服务ID (在 zerotier 后台也能看到)
grep id /var/lib/zerotier-one/moon.json | head -n 1
mkdir /var/lib/zerotier-one/moons.d
cp 000000XXX moons.d/
systemctl restart zerotier-one
# 唯一服务ID两边一样的
zerotier-cli orbit 唯一服务ID 唯一服务ID
zerotier-cli listpeers
C:\ProgramData\ZeroTier\One
,新建 moons.d 文件夹,把密钥文件放进去,然后重启服务即可# 查看状态
zerotier-cli status
# 加入网络
zerotier-cli join ################
# 离开网络
zerotier-cli leave ################
# 列出网络
zerotier-cli listnetworks
# 重启zerotier服务
systemctl restart zerotier-one