部署Solace服务的方法
使用Docker部署Solace PubSub+标准版
确保已安装Docker,运行以下命令拉取并启动Solace容器:
docker run -d -p 8080:8080 -p 55555:55555 --shm-size=1g --env username_admin_globalaccesslevel=admin --env username_admin_password=admin --name=solace solace/solace-pubsub-standard
-p 8080:8080:暴露Web管理界面端口。-p 55555:55555:暴露消息传输端口。--shm-size=1g:分配共享内存,建议不低于1GB。
通过Kubernetes部署
创建solace.yaml文件,配置以下内容:
apiVersion: apps/v1
kind: Deployment
metadata:
name: solace
spec:
replicas: 1
selector:
matchLabels:
app: solace
template:
metadata:
labels:
app: solace
spec:
containers:
- name: solace
image: solace/solace-pubsub-standard
ports:
- containerPort: 8080
- containerPort: 55555
env:
- name: username_admin_password
value: "admin"
resources:
limits:
memory: "2Gi"
应用配置:
kubectl apply -f solace.yaml
云平台部署(以AWS为例)
- 登录AWS Marketplace,搜索“Solace PubSub+ Standard”。
- 选择EC2实例类型(建议至少4核8GB内存)。
- 配置安全组,开放端口8080(管理)和55555(消息)。
- 启动实例后,通过SSH登录并验证服务状态:
systemctl status solace
初始配置步骤
- 访问Web管理界面:
http://<服务器IP>:8080,使用默认账号admin/admin登录。 - 创建消息VPN:导航至“Message VPNs” → “Add”,填写名称并启用所需协议(如MQTT、AMQP)。
- 配置客户端权限:在“Client Usernames”中创建用户,分配VPN访问权限。
验证服务
发送测试消息:
curl -X POST -u "admin:admin" http://localhost:8080/SEMP/v2/config/msgVpns/default/queues -H "Content-Type:application/json" -d '{"queueName":"test_queue"}'
使用SDK(如Python)发布消息:
import solace.messaging.messaging_service as messaging
service = messaging.MessagingService.builder().from_properties({"host": "tcp://localhost:55555", "vpn": "default", "username": "admin", "password": "admin"}).build()
service.connect()
sender = service.create_direct_message_publisher_builder().build()
sender.start()
sender.send("hello world", destination="test_queue")
注意事项
- 生产环境需替换默认密码,启用TLS加密。
- 高可用部署需配置冗余节点和镜像队列。
- 资源限制(CPU/内存)根据消息吞吐量调整。
以上方法适用于快速验证或小型生产环境,大规模部署建议参考官方文档调整参数。
















