精华内容
下载资源
问答
  • JAVA_API1.6文档(中文)

    万次下载 热门讨论 2010-04-12 13:31:34
    javax.swing.plaf 提供一个接口和许多抽象类,Swing 它们来提供自己的可插入外观功能。 javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。 javax.swing.plaf.metal 提供根据 Java 外观(曾经代...
  • vss如何使用(图解)

    热门讨论 2011-04-25 15:10:48
    l 组内合作——在缺省的情况下,一般一个文件在某一时间只允许一个用户对其进行修改,这样可以防止文件意外地被其他用户改动或者覆盖。但管理员可以改动这种缺省的设置,允许文件多层签出。这种设置也能防止过多的、...
  • 答:服务器:socker()建立套字,绑定(bind)并监听(listen),accept() 等待客户端连接。 客户端:socker()建立套字,连接(connect)服务器,连接上后使用send()和recv( ),在套字上写读数据,直至...
  • 数据库课程设计(基于B/S)

    热门讨论 2008-12-28 15:28:06
    完成信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计,SQL Sever的数据库管理系统、JSP开发工具实现该系统,并运行、评价、改进之;在此基础上严格按课程设计教学大纲所附报告提纲撰写课程...
  • 它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息一般是通过标签库(Taglib)实现,不同框架有不同自己的...
  • 当PSTN从拨号连接到MSC,且MSC将话音路径入服务基站时,SDCCH检查用户的合法及有效性,随后在手机和基站之间发送信息。几秒钟后,基站经由SDSSH告知手机重新转向一个为TCH安排的ARFCN和TS。一旦再次接到TCH,...
  • (6) 所有工作区所需的信息模块、底盒、面板的数量。 (7) 所需RJ-45接头的数量。 具体需要RJ-45接头和模块的数量可以按照以下公式进行计算: RJ-45头的需求量M=N×4+N×4×15% M:表示RJ-45接头的总需求量 N: ...
  • 下来会仔细地对上面每一个部分进行解释。看完本文,就应该能理解上图中的各部件之间的交互流程。 前端架构 把上图的前端部分单独抽出来进行研究: <p><img alt="simple-front" src=...
  • Lumigent Log Explorer(含注册码)

    热门讨论 2011-08-03 16:20:53
    Attaching to a Log:在所有操作之前必须添加日志文件, l 可以普通的SQL登录方式添加在线日志(Online Log), l 直接选择LDF文件来添加离线日志(OffLine Log) l 添加备份文件 1、 Log Summary 日志文件的概要信息。...
  • 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对私钥对信息(info)签名,指定算法产生签名对象,私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),公钥...
  • 关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对私钥对信息(info)签名,指定算法产生签名对象,私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),公钥...
  • Log Explorer4.2(注册码+汉化包)

    千次下载 热门讨论 2011-06-22 00:45:08
    服务器代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
  • DELPHI的朋友少不了要和数据库打交道,一般小程序都使用ACCESS做数据库感觉十分方便,不用装服务端,客户端不用单独装驱动, 发布程序时直接目录一拷贝就完事,但缺点是不方便从其它计算机对它进行访问, 有了偶这...
  • —做后端的我们一般用不到,不过界面和后端代码连接的方法名有问题可以在这里改,改前端的信息。 src文件目录: 其中,api是异步服务调用的地址,views是页面数据属性的封装。 这个路径下修改某些方法名: 分布式...

    前后端分离

    谷粒商城是前后端分离的结构。----------前端模块已经是写好的项目
    —做后端的我们一般用不到,不过界面和后端代码连接的方法名有问题可以在这里改,改前端的信息。
    src文件目录:
    在这里插入图片描述
    其中,api是异步服务调用的地址,views是页面数据属性的封装。
    在这里插入图片描述
    这个路径下修改某些方法名:
    在这里插入图片描述

    前后端请求格式

    一般前端会用post想后端发送请求(把参数封装到json中)
    请求格式@RequestBody
    返回格式@ResponseBody
    

    分布式架构

    gmall-user项目中所有的controller、service接口、service实现都在一个工程,通过Spring的ioc就可以实现互相调用。
    
    随着架构不断增大,服务节点也越来越多,服务之间的调用和依赖关系也越来越复杂,
    需要有一个统一的中心来调度、路由、管理所有的服务,基于这个中心构建的这个星型架构就是现在目前最主流的SOA分布式架构。
    
    整体以maven为基础,对项目进行分层架构。
    

    在这里插入图片描述
    为了实现这种SOA分布式架构,我们将整个项目按照下面的文件布局进行搭建。
    在这里插入图片描述
    使用maven依赖将这些接口作为公共的包进行管理,同时统一管理实体bean类。
    以使得多个订单都可以来调用service接口。
    使得service和web都依赖于interface并依赖于bean并依赖于通用Mapper。

    module 内容
    gmall-api 存放实体bean类和service接口

    搭建过程

    1、gmall- parent 父依赖的创建

    maven的概念。可以让所有的模块都继承这个parent模块,由这个parent模块来管理版本。
    在这里插入图片描述

    1、使用maven创建一个gmall-parent的工程,这个工程里面没有java代码,只有pom依赖。
    2、使得其他子项目都继承自gmall-parent
    3、原本的parent工程中springboot版本是2.3.4,结果导致版本号不匹配,改回了1.5.21
    4、在gmall-parent中定义好项目的各种技术框架的各种版本。在pom.xml中进行定义,其他子项目也在pom依赖中继承
    

    pom.xml文件内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <!--    把这个位置springboot版本号改成1.5.21         -->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.21.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>pom</packaging>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
    
            <fastjson.version>1.2.46</fastjson.version>
            <dubbo-starter.version>1.0.10</dubbo-starter.version>
            <dubbo.version>2.6.0</dubbo.version>
            <zkclient.version>0.10</zkclient.version>
            <mybatis.version>1.3.1</mybatis.version>
            <nekohtml.version>1.9.20</nekohtml.version>
            <xml-apis.version>1.4.01</xml-apis.version>
            <batik-ext.version>1.9.1</batik-ext.version>
            <jsoup.version>1.11.2</jsoup.version>
            <httpclient.version>4.5.5</httpclient.version>
            <commons-lang3.version>3.7</commons-lang3.version>
            <mapper-starter.version>1.2.3</mapper-starter.version>
            <jedis.version>2.9.0</jedis.version>
            <jest.version>5.3.3</jest.version>
            <jna.version>4.5.1</jna.version>
            <beanUtils.version>1.9.3</beanUtils.version>
        </properties>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>fastjson</artifactId>
                    <version>${fastjson.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>dubbo</artifactId>
                    <version>${dubbo.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>com.101tec</groupId>
                    <artifactId>zkclient</artifactId>
                    <version>${zkclient.version}</version>
                </dependency>
    
                <!-- 这里出现错误,出现springboot和dubbo的版本号问题 -->
                <!-- 注释掉原有的版本号:<version>${dubbo-starter.version}</version> -->
                <!-- 排除第三方版本号 ,不是问题的源头-->
                <dependency>
                    <groupId>com.gitee.reger</groupId>
                    <artifactId>spring-boot-starter-dubbo</artifactId>
                    <version>${dubbo-starter.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.mybatis.spring.boot</groupId>
                    <artifactId>mybatis-spring-boot-starter</artifactId>
                    <version>${mybatis.version}</version>
                </dependency>
    
    
                <dependency>
                    <groupId>net.sourceforge.nekohtml</groupId>
                    <artifactId>nekohtml</artifactId>
                    <version>${nekohtml.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>xml-apis</groupId>
                    <artifactId>xml-apis</artifactId>
                    <version>${xml-apis.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.xmlgraphics</groupId>
                    <artifactId>batik-ext</artifactId>
                    <version>${batik-ext.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
                <dependency>
                    <groupId>org.jsoup</groupId>
                    <artifactId>jsoup</artifactId>
                    <version>${jsoup.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
                <dependency>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                    <version>${httpclient.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-lang3</artifactId>
                    <version>${commons-lang3.version}</version>
                </dependency>
    
    
                <dependency>
                    <groupId>tk.mybatis</groupId>
                    <artifactId>mapper-spring-boot-starter</artifactId>
                    <version>${mapper-starter.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>redis.clients</groupId>
                    <artifactId>jedis</artifactId>
                    <version>${jedis.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/io.searchbox/jest -->
                <dependency>
                    <groupId>io.searchbox</groupId>
                    <artifactId>jest</artifactId>
                    <version>${jest.version}</version>
                </dependency>
    
                <!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
                <dependency>
                    <groupId>net.java.dev.jna</groupId>
                    <artifactId>jna</artifactId>
                    <version>${jna.version}</version>
                </dependency>
    
                <dependency>
                    <groupId>commons-beanutils</groupId>
                    <artifactId>commons-beanutils</artifactId>
                    <version>${beanUtils.version}</version>
                </dependency>
    
    
            </dependencies>
        </dependencyManagement>
    
    
    
    </project>
    
    
    
    
    

    2、gmall-api工程的创建

    1、使用maven创建一个gmall-api工程,负责管理项目中所有的接口和实体bean类
    2、在api工程的pom依赖中引入tk通用mapper映射类
    3、文件结构包括bean类文件夹和Service文件夹存放所有的XXXService接口
    4、将之前的所有的引入bean的文件引入路径都改为api文件目录下,包括 service、service实现、controller、mapper、mapper.xml
    

    pom.xml文件内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-api</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <!-- 通用mapper -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper-spring-boot-starter</artifactId>
                <version>1.2.3</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-jdbc</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
        </dependencies>
    
    
    </project>
    
    
    

    3、gmall-common-util工程的创建

    所有的第三方依赖包分为三种:
    1、	web业务模块用到的第三方包,比如文件上传客户端、页面渲染工具、操作cookie的工具类等等。
    2、	service业务模块用到的第三方包,比如jdbc、mybatis、jedis、activemq工具包等等。
    3、	通用型的第三方包,比如fastjson、httpclient、apache工具包等等。
    4、	只有本模块用到的 es 
    

    在这里插入图片描述

    工程旨在创建一个项目中的通用框架,是所有的应用工程需要引入的包
    在pom依赖中进行修改,包括springboot、common-langs、common-beanutils
    

    pom.xml文件内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <artifactId>gmall-parent</artifactId>
            <groupId>com.atguigu.gmall</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-common-util</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            
            <dependency>
                <groupId>org.apache.httpcomponents</groupId>
                <artifactId>httpclient</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
            </dependency>
    
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
            </dependency>
    
            <dependency>
                <groupId>commons-codec</groupId>
                <artifactId>commons-codec</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>dubbo</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.101tec</groupId>
                <artifactId>zkclient</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>com.gitee.reger</groupId>
                <artifactId>spring-boot-starter-dubbo</artifactId>
            </dependency>
    
    
        </dependencies>
    
    
    </project>
    

    在这里插入图片描述

    同时,基于SOA的架构理念,util设置也拆分为web前端Controller(webutil)和web后端Service(serviceutil)
    分别新建gmall-web-util工程和gmall-service-util工程。

    gmall-web-util工程加入前端包括Jsp、thymeleaf、cookie工具类,并依赖于gmall-common-util。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <artifactId>gmall-parent</artifactId>
            <groupId>com.atguigu.gmall</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-web-util</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-common-util</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
    
        </dependencies>
    
    
    
    </project>
    
    

    gmall-service-util工程加入数据库等包括Mybatis、mysql、redis等,并依赖于gmall-common-util。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <artifactId>gmall-parent</artifactId>
            <groupId>com.atguigu.gmall</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
    
        <groupId>com.atguigu.gmall</groupId>
        <artifactId>gmall-service-util</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <dependencies>
    
            <dependency>
                <groupId>com.atguigu.gmall</groupId>
                <artifactId>gmall-common-util</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
    
            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
            </dependency>
    
    
    
    
        </dependencies>
    
    
    </project>
    

    4、前后端分离

    1、新建一个web的前端controller模块的项目
    Controller = parent + api + webUtil
    
    2、新建一个web的后端service模块的项目
    service = parent + api + serviceUtil
    

    在这里插入图片描述

    基于dubbo的SOA面向服务

    1 dubbo的soa的工作原理,和springcloud类似
    2 dubbo和springcloud的区别在于dubbo由自己的dubbo协议通讯,sc是由http协议(rest风格)
    3 dubbo有一个注册中心的客户端在时时同步注册中心的服务信息
    4 dubbo有一个javaweb的监控中心,负责监控服务的注册信息,甚至可以配置负载均衡
    

    dubbo其实是一组jar包,通过maven引入就可以,在linux中安装admin可视化管理平台。
    zookeeper是一个开源的服务软件,需要安装到linux中。

    在虚拟机中进行注册中心zookeeper和dubbo-admin管理平台的安装配置:
    在这里插入图片描述

    1、ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。
    	它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。
    2、Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。
    从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容。
    

    将项目改造成dubbo的分布式架构

    1、将gmall-user项目拆分成gmall-user-service和gmall-user-web两个项目
    		将controller文件夹放入前端gmall-user-web项目中
    		将通用mapper接口文件夹和服务实现impl文件夹放入gmall-user-service项目中
    2、将dubbo框架引入到common-util中,然后gmall-service-util和gmall-web-util又依赖于gmall-common-util
    3、记得刷新maven依赖
    4、在客户端即UserController文件中使用@Reference代替@Autowired
    		---import com.alibaba.dubbo.config.annotation.Reference;
    	在服务端即实现类UserServiceImpl文件中增加@Service关键字
    		--import com.alibaba.dubbo.config.annotation.Service;
    

    gmall-user-service项目的配置文件:

    
    
    # 服务端口
    server.port=8070
    
    # jdbc
    spring.datasource.password=82465
    spring.datasource.username=root
    spring.datasource.url=jdbc:mysql://localhost:3306/gmall_study?serverTimezone=UTC&characterEncoding=UTF-8
    # mybtais配置
    
    mybatis.mapper-locations=classpath:mapper/*Mapper.xml    -------------------*/
    mybatis.configuration.map-underscore-to-camel-case=true
    
    # 解决问题:java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    mapper.identity=MYSQL
    
    #修改日志级别------debug: 有的没的都打印
    logging.level.root = info
    
    ## dubbo的配置
    
    # dubbo中的服务名称
    spring.dubbo.application=user-service
    spring.dubbo.protocol.name=dubbo
    # zookeeper注册中心的地址-------------
    spring.dubbo.registry.address=192.168.199.129:2181
    # zookeeper的通讯协议的名称
    spring.dubbo.registry.protocol=zookeeper
    # dubbo服务的扫描路径------------只到gmall路径,避免访问不当服务路径错误
    spring.dubbo.base-package=com.atguigu.gmall
    
    
    # dubbo 端口号: 53669
    
    

    gmall-user-web的配置文件:

    
    # 服务端口
    server.port=8081
    
    #修改日志级别------debug: 有的没的都打印
    logging.level.root = info
    
    # dubbo的配置
    # dubbo中的服务名称
    spring.dubbo.application=user-web
    # dubbo的通讯协议名称
    spring.dubbo.protocol.name=dubbo
    # zookeeper注册中心的地址
    spring.dubbo.registry.address=192.168.199.129:2181
    # zookeeper的通讯协议的名称
    spring.dubbo.registry.protocol=zookeeper
    # dubbo的服务的扫描路径
    spring.dubbo.base-package=com.atguigu.gmall
    
    
    ## dubbo的consumer在三秒钟之内每间隔一秒进行一次重新访问,默认一秒钟超时,
    ## 三次访问之后会直接抛超时异常,所以我们在开发阶段,可以将consumer设置的超时时间延长,方便断点调试
    
    # 设置超时时间(默认是1000毫秒,改成600---十分钟)
    spring.dubbo.consumer.timeout=600000
    
    ## consumer.check 是启动消费端时,是否检查服务端能否正常访问。
    ## 如果选择true,那启动消费端时,必须保证提供端服务正常,否则接口无法注入。
    # 设置是否检查服务存在
    spring.dubbo.consumer.check=false
    
    
    
    

    dubbo

    在这里插入图片描述

    1 dubbo的基本概念
    
    调用关系:
    服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
    服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
    注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
    监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
    
    调用关系说明
    服务容器负责启动,加载,运行服务提供者。
    服务提供者在启动时,向注册中心注册自己提供的服务。
    服务消费者在启动时,向注册中心订阅自己所需的服务。
    注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
    服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
    服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
    
    展开全文
  • Log Explorer 4.2 官方版(含注册码)

    热门讨论 2013-09-14 10:57:53
    服务器代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
  • Log Explorer 4.2(含注冊碼)

    热门讨论 2009-07-28 09:46:48
    服务器代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
  • asp在线考试系统(asp+access实现)

    热门讨论 2009-04-04 19:34:08
    基于上述考虑,Browser/Web模式来设计考试系统比较合适,服务器我们采用Access数据库系统和 ASP组件来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和治理。 利用和数据库...
  • 服务器代理是保存在SQLServer主机中的一个只读存储过程,他的作用是接受客户端请求,读取在线事物日志块并通过网络传给客户端软件,由客户端软件来读取这些原始的数据块来完成Log Explore所提供的所有功能。...
  • 信息输出模块,在主机,让餐厅经理即使看到所有的点菜情况,能统计各种信息,方便管理者总结调整。 中级状态: 相比于初级状态,中级状态应该能部分放弃以太网,可以采用蓝牙进行通讯传输,达到一对多的效果。...
  • 5.4.10 带硬件安全模块集成的TDE 208 5.5 Oracle高级安全特性 209 5.5.1 Kerberos交叉领域支持 209 5.5.2 sysdba强身份验证 209 5.6 Oracle调用接口增强 210 5.6.1 设置坏数据包捕捉的信息级别 210 5.6.2 ...
  • 这些不同的 “协议单元” 可以像搭建积木一般根据需要自由组合,保证 “简单性” 和 “可拆分性”,这样才能灵活适配多变的业务需求,哪个模块不好,换了就是。 未来传输方面的解决方案必然是根据使用场景深度定制的...
  • 说一个功能,大家在微信实现控制设备的时候,是不是都在为绑定...微信公众号给WIFI模块配网,设备配网之后连接MQTT服务器,然后设备发布的主题是连接的路由器的MAC地址,信息是自己的MAC地址 微信接着跳转到小程...

    说一个功能,大家在用微信实现控制设备的时候,是不是都在为绑定设备发愁.

    我看了很多厂家的微信控制,大部分都只是可以用微信给设备配网,但是没有做用微信绑定的.

    一般做绑定都是用设备的MAC地址.

    这里我研究了一个方案,实现的原理是这样:

    用微信公众号给WIFI模块配网,设备配网之后连接MQTT服务器,然后设备发布的主题是连接的路由器的MAC地址,信息是自己的MAC地址

    微信端接着跳转到小程序,小程序是可以获取路由器的MAC地址,这样小程序里面订阅这个MAC地址.

    这样就可以利用小程序获取设备的MAC地址,得到设备的MAC后期发挥就靠自己啦!

    功能已经实现,演示视频连接

    微信公众号+小程序,实现配网+绑定设备

     

     

     

     https://weibo.com/tv/v/FtQIDmIcs?fid=1034:eb4a95fc0436856e1e7b240dad5b53c4

     

    https://sv.baidu.com/videoui/page/videoland?pd=bjh&context={%22nid%22:%223029079286624573902%22,%22sourceFrom%22:%22bjh%22}&fr=bjhauthor&type=video

     

     

    https://sv.baidu.com/videoui/page/videoland?pd=bjh&context={%22nid%22:%2212517286567355112794%22,%22sourceFrom%22:%22bjh%22}&fr=bjhauthor&type=video

     

    http://n.miaopai.com/media/pTXvpwddIdT6skSXtfNe~LIWHU-Z4st7

     

    转载于:https://www.cnblogs.com/yangfengwu/p/10050784.html

    展开全文
  • 当前Fly实例会在调用fly.lock时会被锁定,fly实例锁定后,下来的请求在进入请求拦截器前会进入一个队列排队,当解锁后(通过调用fly.unlock),才会进入拦截器,这提供一种同步多个任务的方式。如果你想取消队列里的...
  • 用模块管理函数 - 模块的概念 / 自定义模块管理函数 / 命名冲突的时候会怎样(同一个模块和不同的模块) Day07 - 字符串和常用数据结构 字符串的使用 - 计算长度 / 下标运算 / 切片 / 常用方法 列表基本用法 -...
  • ( 现代交换原理与通信网技术 (卞佳丽 着) 北京邮电大学出版社 课后答案.pdf )答:在任意的入线和出线之间建立连接,并将入线上的信息分发到出线上去。 9.分别说明什么是集中型、分配型、扩散型交换单元?什么是有向交换...
  • 把需要用到的数据存放在vuex中,在app.vue的updateBySocket()函数中整体监听服务端emit的事件,根据路由信息判断数据是要做一般处理还是交给对话框页面进行处理 核心代码 服务端(express实现) let serve = app....
  • TCP聊天室 VC版 含实验报告

    热门讨论 2010-01-04 15:08:51
    基于TCP/IP的通信基本上都是利用SOCKET套字进行数据通讯,程序一般分为服务器和用户两部分。设计思路(VC6.0下): 第一部分 服务器 一、创建服务器套字(create)。 二、服务器套字进行信息绑定...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 152
精华内容 60
关键字:

)信息模块端接一般用(