azure 两台机器与thingsboard连接到同一个数据库是可能的吗?

mgdq6dx1  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(115)

我正在Azure上部署Thingsboard CE。出于可用性和弹性的原因,我希望有两个虚拟机同时连接到同一个数据库。
有没有办法做到这一点,这可能吗?
我也欢迎关于如何在云中安全地托管Thingsboard的提示。
我设法做到了如下:
我创建了一个VM并将其连接到数据库,然后创建了VM的副本。也就是说,两个VM连接到同一个数据库。
错误:
如果我的设备连接到VM1,并且我通过VM2访问 Jmeter 板,则数据不会自动更新,我需要刷新页面。

okxuctiv

okxuctiv1#

是的,可以将两台带有ThingsBoard的计算机连接到同一数据库。
1.使用像PostgreSQL这样的数据库。
1.并配置ThingsBoard以使用复制的数据库。
1.并配置负载平衡器以在两台机器之间分配流量。

为2个VMS访问数据库提供负载平衡。

确保ThingsBoard在云中的安全。

  • 为ThingsBoard使用专用VM。
  • 启用双因素身份验证。
  • 使用防火墙限制对ThingsBoard的访问。
  • 并保持ThingsBoard与最新的安全补丁保持同步。

对于Security FundamentalsSecurity best-practices
对于您所得到的错误,您需要确保两个VM使用相同的数据同步机制。
这可以通过分布式缓存来实现,比如Redis。当设备向VM1发送数据点时,该数据点也被发送到该高速缓存。当VM2请求数据点时,它会从该高速缓存中获取数据点。这可确保两个VM都具有最新数据。
另一种错误的方法是
使用消息代理,如RabbitMQ。当设备向VM1发送数据点时,该数据点被发送到消息代理。VM2然后可以订阅该数据点的主题,并在发送后立即接收该主题。
有关详细信息,请参阅Blog

相关问题