This commit is contained in:
29
redkale.html
29
redkale.html
@@ -67,7 +67,7 @@
|
||||
开发一个极简单的小论坛系统。包含三个模块: <br/>
|
||||
用户模块 UserSerivice: 提供用户注册、登录、更新资料等功能, UserServlet作为接入层。<br/>
|
||||
帖子模块 ForumSerivice: 提供看帖、发帖、删帖等功能, ForumServlet作为接入层。<br/>
|
||||
通知模块 NotifySerivice: 提供用户操作、回帖等消息通知功能, NotifyWebSocket是WebSocket的Servlet,作为接入层。 <br/>
|
||||
通知模块 NotifySerivice: 提供用户操作、回帖等消息通知功能, NotifyWebSocket是WebSocket的Servlet, 且name为 <b>ws_notify</b>,作为接入层。 <br/>
|
||||
</p>
|
||||
<br/>
|
||||
<p> <b>1、单点部署</b></p>
|
||||
@@ -86,8 +86,7 @@
|
||||
<p> 在生产环境需要避免单点问题,一个服务一般会部署多套。在此做个简单的容灾部署,最前端部署一个nginx作反向代理和负载均衡服务器,后面部署两套系统。 </p>
|
||||
<p style="text-align: center;"><img src="images/distributeimg_2.png" alt=""/></p>
|
||||
<p> 如上图,两个进程间的Serivce都是本地模式,两者会通过SNCP服务保持数据同步,若DataSource开启了数据缓存也会自动同步。两套的配置文件相同,配置如下:</p>
|
||||
<div class="highlight"><pre>
|
||||
<span class="nt"><application</span> <span class="na">port=</span><span class="s">"5050"</span><span class="nt">></span>
|
||||
<div class="highlight"><pre><span class="nt"><application</span> <span class="na">port=</span><span class="s">"5050"</span><span class="nt">></span>
|
||||
<span class="nt"><resources></span>
|
||||
<span class="nt"><group</span> <span class="na">name=</span><span class="s">"ALL"</span><span class="nt">></span>
|
||||
<span class="nt"><node</span> <span class="na">addr=</span><span class="s">"192.168.50.110"</span> <span class="na">port=</span><span class="s">"7070"</span><span class="nt">/></span>
|
||||
@@ -101,13 +100,16 @@
|
||||
<span class="nt"><request></span>
|
||||
<span class="nt"><remoteaddr</span> <span class="na">value=</span><span class="s">"request.headers.X-RemoteAddress"</span><span class="nt">/></span>
|
||||
<span class="nt"></request></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <b><span class="na">groups=</span><span class="s">"ALL"</span></b><span class="nt">/></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">/></span>
|
||||
<span class="nt"><servlets</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="nt">/></span>
|
||||
<span class="nt"></server></span>
|
||||
|
||||
<span class="c"><!-- SNCP 监听 Server --></span>
|
||||
<span class="nt"><server</span> <span class="na">protocol=</span><span class="s">"SNCP"</span> <span class="na">port=</span><span class="s">"7070"</span><span class="nt">></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <b><span class="na">groups=</span><span class="s">"ALL"</span></b><span class="nt">/></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">></span>
|
||||
<span class="c"><!-- 有WebSocketServlet的服务必须配置WebSocketNodeService --></span>
|
||||
<span class="nt"><service</span> <span class="na">name=</span><span class="s">"ws_notify"</span> <span class="na">value=</span><span class="s">"org.redkale.service.WebSocketNodeService"</span><span class="nt">/></span>
|
||||
<span class="nt"></services></span>
|
||||
<span class="nt"></server></span>
|
||||
<span class="nt"></application></span></pre></div>
|
||||
<br/>
|
||||
@@ -131,10 +133,12 @@
|
||||
<span class="nt"><request></span>
|
||||
<span class="nt"><remoteaddr</span> <span class="na">value=</span><span class="s">"request.headers.X-RemoteAddress"</span><span class="nt">/></span>
|
||||
<span class="nt"></request></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">/></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">></span>
|
||||
<span class="c"><!-- 有WebSocketServlet的服务必须配置WebSocketNodeService --></span>
|
||||
<span class="nt"><service</span> <span class="na">name=</span><span class="s">"ws_notify"</span> <span class="na">value=</span><span class="s">"org.redkale.service.WebSocketNodeService"</span><span class="nt">/></span>
|
||||
<span class="nt"></services></span>
|
||||
<span class="nt"><servlets</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="nt">/></span>
|
||||
<span class="nt"></server></span>
|
||||
|
||||
<span class="nt"></server></span>
|
||||
<span class="nt"></application></span></pre></div>
|
||||
<p> 业务层中每个进程的配置相同,配置如下:</p>
|
||||
<div class="highlight"><pre><span class="nt"><application</span> <span class="na">port=</span><span class="s">"5050"</span><span class="nt">></span>
|
||||
@@ -147,7 +151,10 @@
|
||||
|
||||
<span class="c"><!-- SNCP 监听 Server --></span>
|
||||
<span class="nt"><server</span> <span class="na">protocol=</span><span class="s">"SNCP"</span> <span class="na">port=</span><span class="s">"7070"</span><span class="nt">></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">/></span>
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="na">groups=</span><span class="s">"ALL"</span><span class="nt">></span>
|
||||
<span class="c"><!-- 有WebSocketServlet的服务必须配置WebSocketNodeService --></span>
|
||||
<span class="nt"><service</span> <span class="na">name=</span><span class="s">"ws_notify"</span> <span class="na">value=</span><span class="s">"org.redkale.service.WebSocketNodeService"</span><span class="nt">/></span>
|
||||
<span class="nt"></services></span>
|
||||
<span class="nt"></server></span>
|
||||
<span class="nt"></application></span></pre></div>
|
||||
<br/>
|
||||
@@ -183,6 +190,8 @@
|
||||
<span class="nt"><service</span> <span class="na">value=</span><span class="s">"org.redkale.demo.UserService"</span> <span class="na">groups=</span><span class="s">"USER_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="nt"><service</span> <span class="na">value=</span><span class="s">"org.redkale.demo.NotifyService"</span> <span class="na">groups=</span><span class="s">"NOTIFY_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="nt"><service</span> <span class="na">value=</span><span class="s">"org.redkale.demo.ForumService"</span> <span class="na">groups=</span><span class="s">"FORUM_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="c"><!-- 有WebSocketServlet的服务必须配置WebSocketNodeService --></span>
|
||||
<span class="nt"><service</span> <span class="na">name=</span><span class="s">"ws_notify"</span> <span class="na">value=</span><span class="s">"org.redkale.service.WebSocketNodeService"</span> <span class="na">groups=</span><span class="s">"NOTIFY_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="nt"></services></span>
|
||||
<span class="nt"><servlets</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="nt">/></span>
|
||||
<span class="nt"></server></span>
|
||||
@@ -235,6 +244,8 @@
|
||||
<span class="nt"><services</span> <span class="na">autoload=</span><span class="s">"true"</span><span class="nt">></span>
|
||||
<span class="nt"><service</span> <span class="na">value=</span><span class="s">"org.redkale.demo.UserService"</span> <span class="na">groups=</span><span class="s">"USER_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="nt"><service</span> <span class="na">value=</span><span class="s">"org.redkale.demo.ForumService"</span> <span class="na">groups=</span><span class="s">"FORUM_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="c"><!-- 有WebSocketServlet的服务必须配置WebSocketNodeService --></span>
|
||||
<span class="nt"><service</span> <span class="na">name=</span><span class="s">"ws_notify"</span> <span class="na">value=</span><span class="s">"org.redkale.service.WebSocketNodeService"</span> <span class="na">groups=</span><span class="s">"NOTIFY_SERVICE"</span><span class="nt">/></span>
|
||||
<span class="nt"></services></span>
|
||||
<span class="nt"><servlets</span> <span class="na">autoload=</span><span class="s">"true"</span> <span class="nt">/></span>
|
||||
<span class="nt"></server></span>
|
||||
|
||||
Reference in New Issue
Block a user