Soul网关源码分析-18期


集群配置

今天测试 SOUL 后台集群部署下同步数据到网关的情况.



后台配置


启动两个后台, 端口分别是 90959096

server:
#  port: 9095
  port: 9096

仍使用默认的 websocket 数据同步方式

soul:
  sync:
    websocket:
      enabled: true



网关配置


网关处的 websocket 相关配置需要改动, 我们找到项目启动时的 websocket 配置加载类

@Configuration
@ConditionalOnClass(WebsocketSyncDataService.class)
@ConditionalOnProperty(prefix = "soul.sync.websocket", name = "urls")
public class WebsocketSyncDataConfiguration {
  
  @Bean
  @ConfigurationProperties(prefix = "soul.sync.websocket")
  public WebsocketConfig websocketConfig() {
    return new WebsocketConfig();
  }
}

WebsocketConfig 会读取到我们配置的 websocket 相关参数, 进入看看关键的后台集群路径怎么配多个

public class WebsocketConfig {
    
    /**
     * if have more soul admin url,please config like this.
     * 127.0.0.1:8888,127.0.0.1:8889
     */
    private String urls;
}

根据这个注解, 我们得知多个用逗号分隔, 最后网关的配置如下:

soul:
	sync:
		websocket:
			urls: ws://localhost:9095/websocket,ws://localhost:9096/websocket



启动验证


启动后台集群, 接着启动网关, 查看网关打印日志:

2021-02-01 20:11:09.170  INFO 8463 --- [           main] o.d.s.p.s.d.w.WebsocketSyncDataService   : websocket connection is successful.....
2021-02-01 20:11:09.609  INFO 8463 --- [           main] o.d.s.p.s.d.w.WebsocketSyncDataService   : websocket connection is successful.....

查看后台集群打印日志情况:

2021-02-01 20:11:09.133  INFO 8444 --- [0.0-9095-exec-1] o.d.s.a.l.websocket.WebsocketCollector   : websocket on open successful....
2021-02-01 20:11:09.638  INFO 8450 --- [0.0-9096-exec-1] o.d.s.a.l.websocket.WebsocketCollector   : websocket on open successful....



操作验证


实验开始前, 我们先找到网关端的 websocket 监听类 SoulWebsocketClient, 在 onMessage() 方法里做一些标记

public final class SoulWebsocketClient extends WebSocketClient {
  
  @Override
  public void onMessage(final String result) {
    // 标记来源信息的路径
    System.out.println("websocket 通信到达, 路径:" + uri.toString());
    handleResult(result);
  }
}

接着我们在 9095 的后台管理页面, 修改些配置信息, 查看网关情况
在这里插入图片描述

在网关端可以看到打印的信息

websocket 通信到达, 路径:ws://localhost:9095/websocket

使用 9096 进行修改配置, 同样看到信息打印

websocket 通信到达, 路径:ws://localhost:9096/websocket

至此验证成功. 一切都显示了后台集群是能做到同步数据给网关端的.



附录


Http 长轮询配置

后台

soul:
	http:
  		enabled: true

网关

soul:
	http:
  		url: http://localhost:9095,http://localhost:9096

Zookeeper 配置

后台与网关数据同步(Zookeeper篇)


Nacos 配置

后台与网关数据同步(Nacos篇)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值