有同学问我,开发Spring Cloud 微服务这一套需要什么配置,读大学时候买的游戏本 可以使用吗?
可以,但是你会搞得很难受,最好内存不要低于 16G
。
PS: 如下图 本地运行10个微服务,配置低基本上是是卡死状态
我这里就分享一下我的开发机(17 mbp I5 8G)是如何优化本地应用并配合远程阿里云 ECS 完成开发,并且准备用它再大干5年的。
在IDEA 的应用面板设置 VM options: -Xms128m -Xmx256m
这点大小本地开发足够了,但是并不能解决本地机器运行 idea/webstore/db 或其他工具同时开发的场景,内存和配置还是不够。
我们可以通过 VPN 或者其他技术,实现本地 & 云服务器 之间组网,实现互相之家的通信,并且指定服务中心的网卡,实现服务调用的正常注册。 由于搭建VPN 成本较高且难度较大,本文讲述如何使用ZeroTier 实现。
curl -O http://pigx.vip/os7init.sh
sh os7init.sh pig4cloud
curl -s https://install.zerotier.com | sudo bash
下载地址: https://www.zerotier.com/download/
❝ZeroTier is a smart Ethernet switch for planet Earth.
❞
翻译:用于地球的智能以太网交换机。
通俗来讲就是 Peer to Peer
(P2P) ,ZeroTier 根服务器记录请求路径来做类似于DNS的解析。
主要功能,就是可以把多个不同网络的设备连接在一起,用来就像在一个局域网下 如下图
ZeroTier 配置一个虚拟网段172.17.2.0/24
,在家中加入这个网络中,即可访问位于公司172.17.2.101
Zerotier 定义了几个专业名词:
zerotier
服务zerotier-cli join a0cbf4b62af33545 #上图创建网络生成的16位ID
输出 200 join OK
如上图,给客户端分配 172.28.153.245
的局域网 IP, 当然网段可以通过 本页Advanced
调整。
同理我们可以在其他设备中加入这个网络.
网络通了...
访问注册中心,查看网络列表,确定每个服务注册IP,都是ZeroTier虚拟IP, 能够互相访问。
cd /var/lib/zerotier-one/
zerotier-idtool initmoon identity.public > moon.json
vim moon.json
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
grep id /var/lib/zerotier-one/moon.json | head -n 1
zerotier-cli orbit id id
zerotier-cli listpeers
本文使用 mdnice 排版