Zeroc Ice 学习笔记--Docker 部署服务

Zeroc Ice 学习笔记--Docker 部署服务

1、Docker Ice images安装

       docker pull zeroc/icegridregistry

       docker pull mycat/leader-icenode(包含JDK)

2、Ice Registry

    registry.conf 文件:

IceGrid.InstanceName=IceGrid
IceGrid.Registry.Client.Endpoints=tcp -p 4061
IceGrid.Registry.Server.Endpoints=tcp
IceGrid.Registry.Internal.Endpoints=tcp
IceGrid.Registry.AdminPermissionsVerifier=IceGrid/NullPermissionsVerifier

#持久化目录
IceGrid.Registry.Data=.
#是否允许动态注册
IceGrid.Registry.DynamicRegistration=1

执行命令:

docker run -d --name demo_registry  -v /data/apps/light/registry/icegridreg.conf:/etc/icegridregistry.conf:ro
 -v /data/apps/light/registry:/var/lib/ice/icegrid  -p 4601:4601 zeroc/icegridregistry

部分说明:--name:registry名称

           /data/apps/light/registry/icegridreg.conf:指定conf文件目录,替代/etc/icegridregistry.conf

          /data/apps/light/registry:指定持久化目录,替代/var/lib/ice/icegrid目录

3、IceGrid Node

#主节点位置
Ice.Default.Locator=IceGrid/Locator:tcp -h 192.168.9.111 -p 4061
#节点1数据存储目录
IceGrid.Node.Data=/var/lib/ice/icegrid/nodedata
#节点1监听端口号
IceGrid.Node.Endpoints=tcp -h 0.0.0.0
#节点1名称
IceGrid.Node.Name=node1
#IceGrid.Node.Output=/var/lib/ice/icegrid/out.log
Ice.StdErr=/var/lib/ice/icegrid/stderr.log
Ice.StdOut=/var/lib/ice/icegrid/stderr.log
IceGrid.Node.RedirectErrToOut=1
IceGrid.Node.Trace.Replica=2

执行命令:

docker run --name light-temple-node1 --net=host 
-v /data/apps/light/temple-service/dist/node1.conf:/etc/icegridnode.conf:ro 
-v /data/apps/light/temple-service:/var/lib/ice/icegrid -d mycat/leader-icenode

4、IceGrid 

<icegrid>
    <application name="light-temple">
        <properties id="props">
            <property name="Ice.ThreadPool.Server.Size" value="50"/>
        </properties>
        <server-template id="TempleServerTemplate">

            <parameter name="id"/>
            <icebox id="TempleServices${id}" exe="java" user="ice">
                <properties>
                    <properties refid="props"/>
                </properties>
                <option>IceBox.Server</option>
                <env>CLASSPATH=/var/lib/ice/icegrid/dist/jars/*</env>
                <service name="TempleServices" entry="com.gwsoft.light.services.temple.TempleService">
                    <adapter name="TempleServices" id="TempleServices${id}" endpoints="tcp -h localhost -t 10000" replica-group="TempleServiceRep"/>
                </service>

            </icebox>
        </server-template>
	<replica-group id="TempleServiceRep">
		<load-balancing type="adaptive" n-replicas="0"/>
		<object identity="TempleServices" type="::temple::TempleServices"/>
	</replica-group>
        <node name="temple_node1">
            <server-instance template="TempleServerTemplate" id="1"/>
            <server-instance template="TempleServerTemplate" id="2"/>
        </node>
    </application>
</icegrid>

说明:

<env>CLASSPATH=/var/lib/ice/icegrid/dist/jars/*</env>

    在执行命令中等同于/data/apps/light/temple-service/dist/jars/*

endpoints="tcp -h localhost -t 10000"

    设置当前服务endpoints属性,显著提升client调用响应时间

执行命令:

151945_4Bjq_2517950.png

152004_j3sb_2517950.png

152017_T8uQ_2517950.png

152048_fiut_2517950.png

5、Client调用服务

--Ice.Default.Locator=IceGrid/Locator:tcp -h 192.168.9.111 -p 4061

自己相对于更改-h 、-p并可以调用服务

转载于:https://my.oschina.net/cxlt216/blog/748579

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值