dubbo+zookeeper服务搭建

1.dubbo简介
         起源阿里系内部使用分布式服务应用管理。经过大量生产环境考量
        http://dubbo.io
        dubbo原生(2017.5) --> 2018.2.15入驻apache孵化器

        dubbox 支持RESTful通讯

2.dubbo的provider编写    
# pom.xml添加dubbo引用
<!-- https://mvnrepository.com/artifact/com.alibaba/dubbo -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.0</version>
</dependency>
# 编写dubbo接口及实现子类
package com.lpf.dubbo;


public interface HelloService {
    public String hello(String name);
}
package com.lpf.dubbo;


public class HelloServiceImpl implements HelloService {
    public String hello(String name) {
        return "hello " + name;
    }
}
# 编写spring配置文件格式的xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

        <!-- 声明服务 -->
        <dubbo:application name="hello-service" />
        <!-- 服务网络注册 -->
        <!--<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />-->
        <dubbo:registry address="zookeeper://192.168.0.102:2181" />
        <!-- provider和consumer之间通讯使用端口号 -->
        <dubbo:protocol name="dubbo" port="20880" />
        <!-- 服务接口声明 -->
        <dubbo:service interface="com.lpf.dubbo.HelloService" ref="helloServiceImpl" />
        <!-- 服务接口实现的bean -->
        <bean id="helloServiceImpl" class="com.lpf.dubbo.HelloServiceImpl" />
</beans>
# 编写main启动类,启动provider服务并生成jar包
package com.lpf.dubbo;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;



public class Provier {

    public static void main(String[] args) throws IOException {
        ClassPathXmlApplicationContext ctx =
                new ClassPathXmlApplicationContext("provider.xml");

        ctx.start();

        System.in.read();  // 任意键退出
    }
}
3.dubbo的consumer编写
# pom.xml添加provider.jar引用
<dependency>
    <groupId>com.lpf.dubbo</groupId>
    <artifactId>hello_provider</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>
# 编写spring配置文件格式的xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

        <!-- 声明consumer的引用名称 -->
        <dubbo:application name="hello-service-consumer" />
        <!-- 服务网络注册 -->
        <!--<dubbo:registry address="multicast://224.5.6.7:1234?unicast=false" />-->
        <dubbo:registry address="zookeeper://192.168.0.102:2181" />
        <!-- 声明服务及引用 -->
        <dubbo:reference id="helloService" interface="com.lpf.dubbo.HelloService"/>
</beans>
# 编写main启动类,调用provider服务
package com.lpf.dubbo;

import org.springframework.context.support.ClassPathXmlApplicationContext;


public class Consumer {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext ctx =
                new ClassPathXmlApplicationContext("consumer.xml");
        ctx.start();
        HelloService service = (HelloService) ctx.getBean("helloService");

        System.out.println(service.hello("mike"));
    }
}
4.zookeeper安装及配置
1)简介
    原属于hadoop技术框架中一个子项,功能完成状态管理
    原理:内部DOM结构,存储多个节点,不同节点保存不同值。
    由于zookeeper独立运行在系统中,可以实现全局共享资源管理。
2)安装配置。 http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
# linux系统解压zookeeper文件,并解压后的文件夹改名
tar zxvf zookeeper-3.4.11.tar.gz
mv zookeeper-3.4.11 zookeeper

#进入zookeeper编辑配置文件
cd zookeeper
cd conf
cp zoo_simple.cfg zoo.cfg
vi zoo.cfg

# 心跳时间检测间隔值
tickTime=2000
# 数据存盘目录位置	
dataDir=/var/lib/zookeeper
# 客户端通讯端口
clientPort=2181

编辑后存盘退出
cd ..
启动zookeeper服务
bin/zkServer.sh start

查询系统进程中zookeeper
ps -aux | grep zookeeper

客户端访问(需要java环境)
bin/zkCli.sh -server 127.0.0.1:2181

查询节点
ls /
创建节点
create /test hello
查看根节点
ls /
获取节点
get /test
退出客户端
quit
5.dubbo服务注册使用zookeeper实现
#pom.xml导入
<dependency>
    <groupId>com.101tec</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.10</version>
</dependency>
#第三步consumer中xml配置文件

<dubbo:registry address="zookeeper://192.168.10.102:2181" />






考虑可再生能源出力不确定性的商业园区用户需求响应策略(Matlab代码实现)内容概要:本文围绕“考虑可再生能源出力不确定性的商业园区用户需求响应策略”展开,结合Matlab代码实现,研究在可再生能源(如风电、光伏)出力具有不确定性的背景下,商业园区如何制定有效的需求响应策略以优化能源调度和提升系统经济性。文中可能涉及不确定性建模(如场景生成与缩减)、优化模型构建(如随机规划、鲁棒优化)以及需求响应机制设计(如价格型、激励型),并通过Matlab仿真验证所提策略的有效性。此外,文档还列举了大量相关的电力系统、综合能源系统优化调度案例与代码资源,涵盖微电网调度、储能配置、负荷预测等多个方向,形成一个完整的科研支持体系。; 适合人群:具备一定电力系统、优化理论和Matlab编程基础的研究生、科研人员及从事能源系统规划与运行的工程技术人员。; 使用场景及目标:①学习如何建模可再生能源的不确定性并应用于需求响应优化;②掌握使用Matlab进行商业园区能源系统仿真与优化调度的方法;③复现论文结果或开展相关课题研究,提升科研效率与创新能力。; 阅读建议:建议结合文中提供的Matlab代码实例,逐步理解模型构建与求解过程,重点关注不确定性处理方法与需求响应机制的设计逻辑,同时可参考文档中列出的其他资源进行扩展学习与交叉验证。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值