# 分布式缓存

FlowPortal BPM的分布式缓存支持3种主流产品:Redis、NCache和AzureCosmos。

集群时根据需要选择其中一种,每台服务器指向同一配置,即可完成集群。

# Redis

安装Redis环境

使用docker部署,按照下面的步骤依次运行命令:

1、docker pull redis

2、docker run --name my-redis -d -p 6379:6379 redis

3、若想设置密码:打开redis客户端:docker exec -it my-redis redis-cli

      获取密码:config get requirepass

      设置密码:config set requirepass 你的密码

      认证密码:AUTH 你的密码

BPM配置

放出Provider、配置Redis连接和实例名称,InstanceName可自定,集群服务器之间保持一致,如图:

Image

Image

验证缓存集群是否成功

1、使用命令验证分布式缓存:dcache set key value

在A服务器设置缓存:dcache set a 100,在B服务器查看缓存:dcache get a,B服务器能正确获取A服务器设置的缓存代表成功。

2、分布式本地缓存验证:

在B服务器打开流程(让系统缓存下流程定义)然后在A服务器修改流程并保存,在B服务器再次打开流程,看到B服务的流程也变了

# NCache

安装Redis环境

使用docker部署,按照下面的步骤依次运行命令:

1、docker pull alachisoft/ncache:latest

2、docker run -d --name ncache -p 8251:8251 alachisoft/ncache

3、通过地址<server-ip>:8251浏览管理中心,根据提示进行注册(注册需要key,可以使用公司邮箱申请一个月免费使用的key)。

4、注册成功后,我们在Clustered Caches模块看到一个名称为demoCache的缓存及其Servers的ip地址。

BPM配置

放出Provider、CacheName为步骤4中的demoCache,配置Server根目录下client.ncconf文件:cache节点的id为步骤4中的demoCache,ncache-server节点的local-server-ip为BPM服务器的ip,

server节点的name为demoCache服务器的ip,CacheName可自定,集群服务器之间保持一致,如图:

Image

Image

Image

注意:Server根目录下的config.ncconf文件的cache-config节点的cache-name若也设置为步骤4中的demoCache,此时使用的是本地缓存。

验证缓存集群是否成功

1、使用命令验证分布式缓存:dcache set key value

在A服务器设置缓存:dcache set a 100,在B服务器查看缓存:dcache get a,B服务器能正确获取A服务器设置的缓存代表成功。

2、分布式本地缓存验证:在B服务器打开流程(让系统缓存下流程定义)然后在A服务器修改流程并保存,在B服务器再次打开流程,看到B服务的流程也变了

# AzureCosmos

创建Azure Cosmos DB

1、登录Azure账户,创建Azure Cosmos DB 帐户。

2、在设置→密钥中,获取连接字符串,如图:

Image

BPM配置

放出Provider,配置CosmosConnectionString为前面步骤2中获取的连接字符串,ContainerName和DatabaseName名称可自定,集群服务器之间保持一致,

设置后系统会在AzureCosmos中自动创建,如图:

Image

Image

验证缓存集群是否成功

1、使用命令验证分布式缓存:dcache set key value

在A服务器设置缓存:dcache set a 100,在B服务器查看缓存:dcache get a,B服务器能正确获取A服务器设置的缓存代表成功。

2、分布式本地缓存验证:

在B服务器打开流程(让系统缓存下流程定义)然后在A服务器修改流程并保存,在B服务器再次打开流程,看到B服务的流程也变了