打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
学习demo icestorm replicated
icebox的id被设置为"${instance-name}-${index}"
里面有service
dbenv name="${service}" 应该是系统里面的东西

这里的<node name="node1">
       <server-instance template="IceStorm" index="1" instance-name="DemoIceStorm"/>
       <server-instance template="IceStorm" index="2" instance-name="DemoIceStorm"/>
       <server-instance template="IceStorm" index="3" instance-name="DemoIceStorm"/>
     </node>
是作用与replica group的哈

icebox也就是相当于一个特殊的server,里面装的是service

<dbenv name="${service}"/>  database environment 产生freeze configuration property for server or service and may cause the node to create a database directory if necessary.
Freeze 代表了一系列的持久服务
但是这个放在这里有什么用?确实不太清楚的

怎么 <parameter name="topic-manager-endpoints" default="default"/>
       <parameter name="publish-endpoints" default="default"/>
       <parameter name="node-endpoints" default="default"/>
       <parameter name="instance-name"/>
全是default 这个表示的是? 为什么不用指定端口号?这个是体现Icegrid的时候?

为什么有的replica-group有 identity 而有的没有? 
 <replica-group id="DemoIceStorm-PublishReplicaGroup">
     </replica-group>

     <replica-group id="DemoIceStorm-TopicManagerReplicaGroup">
       <object identity="DemoIceStorm/TopicManager" type="::IceStorm::TopicManager"/>
     </replica-group>

有两处提到了replica (上面的和下面的) 
 <adapter name="${service}.TopicManager"
                    endpoints="${topic-manager-endpoints}"
                    replica-group="${instance-name}-TopicManagerReplicaGroup"/>

        <adapter name="${service}.Publish" 
                    endpoints="${publish-endpoints}" 
                    replica-group="${instance-name}-PublishReplicaGroup"/>

他这个数据库的设置怎么不一样哈?${service}.SQL.DatabaseType" value="QSQLITE"/>
             <property name="${service}.SQL.DatabaseName" value="db/${instance-name}-${index}.db"/>

在没有用icegrid的程序中确是这个Freeze.DbEnv.IceStorm.DbHome=db,求解释哈上面是使用sql语句的时候需要配置的东西

#
# IceStorm SQL configuration if using SQL database.
#
#Ice.Plugin.DB=IceStormSqlDB:createSqlDB
#IceStorm.SQL.DatabaseType=QSQLITE
#IceStorm.SQL.DatabaseName=db/IceStorm.db

config.grid
IceGrid.InstanceName=DemoIceGrid
Ice.Default.Locator=DemoIceGrid/Locator:default -p 4061
......(一些registry和node的配置信息)

config.pub 
Ice.Default.Locator=DemoIceGrid/Locator:default -p 4061  (DemoIceGrid是instance 
TopicManager.Proxy=DemoIceStorm/TopicManager

config.sub 
Ice.Default.Locator=DemoIceGrid/Locator:default -p 4061
TopicManager.Proxy=DemoIceStorm/TopicManager  (这个左边还必须是application name!!)(这里apllication name 与 instance name都是DemoIceStorm!!,fuck,应该是instance name吧,对应一个server(这里是icebox)
Clock.Subscriber.Endpoints=tcp:udp

xml文件:
<icegrid>

  <application name="DemoIceStorm">
   
     <server-template id="IceStorm">
       <parameter name="index"/>
       <parameter name="topic-manager-endpoints" default="default"/>
       <parameter name="publish-endpoints" default="default"/>
       <parameter name="node-endpoints" default="default"/>
       <parameter name="instance-name"/>

       <icebox id="${instance-name}-${index}" exe="icebox" activation="on-demand">

         <service name="IceStorm" entry="IceStormService,34:createIceStorm">

           <dbenv name="${service}"/>

           <adapter name="${service}.TopicManager"
                    endpoints="${topic-manager-endpoints}"
                    replica-group="${instance-name}-TopicManagerReplicaGroup"/>

        <adapter name="${service}.Publish" 
                    endpoints="${publish-endpoints}" 
                    replica-group="${instance-name}-PublishReplicaGroup"/>
            //应该只是跟replica有关哦~ 
        <adapter name="${service}.Node" 
                    endpoints="${node-endpoints}"/>

           <properties>
             <property name="${service}.InstanceName" value="${instance-name}"/>
             <property name="${service}.Trace.TopicManager" value="2"/>
             <property name="${service}.Trace.Topic" value="1"/>
             <property name="${service}.Trace.Subscriber" value="1"/>
             <property name="${service}.Trace.Election" value="1"/>
             <property name="${service}.NodeId" value="${index}"/>
             <property name="${service}.SQL.DatabaseType" value="QSQLITE"/>
             <property name="${service}.SQL.DatabaseName" value="db/${instance-name}-${index}.db"/>
           </properties>

         </service>

       </icebox>
     </server-template>

     <replica-group id="DemoIceStorm-PublishReplicaGroup">
     </replica-group>

     <replica-group id="DemoIceStorm-TopicManagerReplicaGroup">
       <object identity="DemoIceStorm/TopicManager" type="::IceStorm::TopicManager"/>
     </replica-group>

     <node name="node1">
       <server-instance template="IceStorm" index="1" instance-name="DemoIceStorm"/>
       <server-instance template="IceStorm" index="2" instance-name="DemoIceStorm"/>
       <server-instance template="IceStorm" index="3" instance-name="DemoIceStorm"/>
     </node>

  </application>

</icegrid>

Subscriber.cpp

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
快速建構DHCP Service (For CentOS)
spring注解@Component、@Service等自动生成bean的命名规则
Oracle RAC日常管理
关于数据库名(db
关于tnsname.ora里的两个连接SERVICE_NAME = test3,sid =...
oracle静态监听和动态监听辨析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服