在IRIS 上怎么实现读写分离
在IRIS 上怎么实现读写分离?
Product version: IRIS 2021.1
Comments
IRIS的镜像(Mirroring)支持多个报告类型(Reporting Asyncs)的异步成员,这些异步成员可以用于查询、报表运行、BI等多种场景。
我们现在是用前端调用rest api,这种情况下要怎么区分调用读服务器还是写服务器?
可以封装一个REST服务用于前端api调用,这个REST服务根据不同api操作和路径,在后台调用不同服务器上的REST API或SQL操作。
或者也可以考虑使用InterSystems API管理器做这个事。
如果是指数据库层的读写分离,可以使用Sharding技术,利用Sharding技术中的计算结点和数据结点,搭建负载均衡+读写分离的数据库集群,参考:
https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.U…
如果服务器/实例资源有限,又想实现读负载与写负载的分离,那么基于@Qiao Peng指出的镜像异步成员,在API层(即应用程序层)通过业务流程来控制查询/写入操作的分发则是成本较低的方案。