精华内容
下载资源
问答
  • 前面我们介绍了几篇内容的connect中间件的基础知识,今天我们来实例应用一下,做个记事本的小应用,希望大家能够喜欢。
  • 主要介绍了Django日志及中间件模块应用案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 基于JLKEngine中间件应用框架搭建实例源码说明文档。 成都领君科技有限公司 http://www.linjon.cn
  • 应用安全中间件既是“邮政综合计算机网络安全保密系统”的组成部分,也可以独立出来使用,它与底层密码硬件设备相结合,通过一组应用编程接口(API)系统软件套件为基于不同平台的各类应用系统在应用层、网络协议传输...
  • 水资源管理消息导向中间件应用方案pdf,水资源管理消息导向中间件应用方案
  • 如何理解中间件的概念:中间件我们可以简称为代理,好比我们生活中的邮政局,张三向李四寄东西,不要自己跑老远送到李四身边,而是把快件投到邮局,由邮局代理送给接收人。 本文实例以Windows7 64位为例 rabbitMq...

    前言:

         如何理解中间件的概念:中间件我们可以简称为代理,好比我们生活中的邮政局,张三向李四寄东西,不要自己跑老远送到李四身边,而是把快件投到邮局,由邮局代理送给接收人。

     本文实例以Windows7 64位为例

    rabbitMq与kafka的对比和安装使用:

         rabbitMq,遵循AMQP协议,由内在高并发的erlang语言开发,用在实时的对可靠性要求比较高的消息传递上,安装rabbitMq前需要先安装erlang环境,资源下载地址:链接:https://pan.baidu.com/s/1JbBwVzom9CKdclvJyEPGRg 提取码:3g1z   。安装完rabbitMq之后,进入sbin安装目录,通过rabbitmq-plugins list 命令查看插件状态,如下图

    在相同的目录下通过rabbitmq-plugins enable rabbitmq_management命令开启插件管理,如下图(因为本人rabbitMq 不属于刚安装,命令输出结果可能会跟刚安装的不一样

    开启插件管理之后可在浏览器访问http://localhost:15672/ ,默认的登入用户名/密码: guest/guest,如下图:

       

    登入之后即可开启对rabbitMq的管理控制

        kafka采用zookeeper对集群中的broker(经纪人)、consumer(消费者)进行管理,可以注册topic到zookeeper上;通过zookeeper的协调机制,安装kafka前需要先安装zookeeper,资源下载地址:链接:https://pan.baidu.com/s/1iu6Ywb8qoiJB80_of_wQcA  提取码:vv7b 下载解压之后两个软件都属于压缩包,解压使用即可。先解压zookeeper-3.4.8 压缩文件,然后conf目录中复制zoo_sample.cfg文件为zoo.cfg,如下图

    复制好之后使用Windows命令行工具进入解压文件的bin目录用zkServer命令启动zookeeper,如下图

    如果启动成功会占用系统的2181端口(该命令行窗口不可关闭);解压kafka_2.11-0.11.0.0文件,开启新的命令行窗口进入

    解压文件的bin\windows目录用 kafka-server-start ../../config/server.properties 命令启动kafka,如下图

    如果正常启动会占用系统的9092端口,启动过程如果出现了类似如下的命令返回异常

    可以通过删除解压根目录的\tmp\kafka-logs文件夹再启动可以解决。

     

    rabbitMq与kafka整合spring cloud集群的使用

      在springCloud中整合rabbitMq与kafka,springCloud可以看作是一个绑定器或适配器,它有连接消息代理中间件的功能,更换绑定器只需要更换依赖,不需要更改任何业务逻辑,实现了绑定器跟消息的耦合,本文仅展示kafka作为消息代理中间件的代码,采用Eureka作为服务器集群。

    消息生产者(producer)代码:

    pom依赖:
    <dependencies>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-config</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-eureka</artifactId>
    		</dependency>
    		<!--<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    		</dependency>
            如果使用rabbitMq作为消息中间件,kafka依赖更换为此依赖-->
    
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-stream-kafka</artifactId>
    		</dependency>
    	</dependencies>
    
    yml配置:
    
    server:
      port: 8080
    spring:
      application:
        name: spring-msg-producer
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/  #注册eureka服务器
    
      
    发送消息的接口:
    
    import org.springframework.cloud.stream.annotation.Output;
    import org.springframework.messaging.SubscribableChannel;
    
    /**
     * 声明发送消息的接口
     */
    public interface SendService {
    
    	@Output("myTopic20190605")//声明消息生产者通道名称,myTopic20190605:通道名称
    	SubscribableChannel sendOrder();
    } 
    
    
    控制器类:
    @RestController
    public class TestController {
    	@Autowired
    	private SendService sendService;
    	/**
    	 * sendService.sendOrder() 返回发送消息的通道,然后进行对应的发送消息
    	 * @return
    	 */
    	@RequestMapping(value = "/send", method = RequestMethod.GET)
    	public String send() {
    		Date  date=new Date();
    		SimpleDateFormat simpleDateFormat=new SimpleDateFormat("HH:mm:ss:sss");
    		String msgstr="发送成功 Hello World"+simpleDateFormat.format(date);
    		Message msg = MessageBuilder.withPayload(msgstr.getBytes()).build();
    		sendService.sendOrder().send(msg);
    		System.out.println("发送成功:"+msgstr);
    		return "success :"+msgstr;
    	}
    }
    
    
    启动类:
    
    @SpringBootApplication
    @EnableEurekaClient
    @EnableBinding(SendService.class)//声明绑定消息生产者接口
    public class ProducerApp {
    	public static void main(String[] args) {
    		new SpringApplicationBuilder(ProducerApp.class).run(args);
    	}
    }

    生产者启动之后就会新增对应的消息通道,在kafka解压文件的bin\windows目录使用 kafka-topics --list --zookeeper localhost:2181 命令查看,如下图

      消息消费者(producer)代码:

    pom.xml依赖:
    <dependencies>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-config</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-eureka</artifactId>
    		</dependency>
    		<!--<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    		</dependency>
            如果使用rabbitMq作为消息代理中间件,kafka依赖更换为此依赖-->
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-stream-kafka</artifactId>
    		</dependency>
    	</dependencies>
    
    yml 配置:
    
    server:
      port: 8081
    spring:
      application:
        name: spring-msg-consumer
      cloud:
        stream:
          bindings:
            myTopic20190605: #myTopic20190605是消息生产者通道的名称
              group: groupA   #配制组名
    eureka:
      client:
        serviceUrl:
          defaultZone: http://localhost:8761/eureka/
    
    
    接收消息的接口:
    
    import org.springframework.cloud.stream.annotation.Input;
    import org.springframework.messaging.SubscribableChannel;
    
    /**
     * 定义消费者接收消息的接口
     */
    public interface ReceiveService {
    	/**
    	 * 声明输入通道的名称,要跟输出的通道名称一样才能收到对应生产者发送的消息
    	 * @return
    	 */
    	@Input("myTopic20190605")
    	SubscribableChannel myInput();
    }
    
    
    
    启动类和消息监听类:
    
    @SpringBootApplication
    @EnableEurekaClient
    @EnableBinding(ReceiveService.class)//绑定接收消息的接口
    public class ConsumerApp {
    
    	public static void main(String[] args) {
    		new SpringApplicationBuilder(ConsumerApp.class).web(true).run(args);
    	}
    
    	@StreamListener("myTopic20190605")//声明消费者监听的通道名称,需要跟生产者的通道名称一样
    	public void onReceive(byte[] msg) {
    		System.out.println("消息者1,接收到的消息:" + new String(msg));
    	}
    }

        一个消息生产者通道可以有多个消息消费者,通过配置组名可以达到负载均衡的效果。假如每个消息消费者组名不一样,每个消息消费者都可以收到生产者发送的消息;假如每个消息消费者组名一样,则不会每个消费者都获得消息,会轮询收到对应的消息。为达到负载均衡的效果,在生产者和消费者依赖中需要ribbon依赖,采用默认负载均衡机制

    <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>

    kafka常用命令的注意事项:

    删除topic命令:  

       删除命令为:kafka-topics --delete --zookeeper localhost:2181 --topic topic名称,但仅仅单独执行该命令,无法做到完全删除,只是做了一个标记,查询topic列表还会显示出来,如下图:

    如果要做到执行命令就完全删除需要在kafka_2.11-0.11.0.0\config目录下往server.properties配置文件末尾添加delete.topic.enable=true再执行对应topic的删除命令即可,如下图:

    有时候为了方便会有一次性删除全部topic的需求,那该怎么处理呢,如果topic存在数量比较多,一条一条删显得有点不现实。因为kafka是采用zookeeper进行集群管理的,新增的每个topic都会注册到zookeeper中,较为便捷的解决方法是:我们可以先把zookeeper和kafka服务器关闭,再把tmp目录下的两个文件夹都删除,或直接删除tmp根目录,如下图:

     重新启动zookeeper和kafka服务器之后,再执行查询topic列表命令就一条都看不到,大功告成了,如下图:

    springcloud整合的消息中间件修改成rabbitMq的注意事项:

     由于springcloud与消息中间件的低耦合型,转换kafka消息中间件为rabbitMq只需要把 stream-kafka依赖转换成

    stream-rabbit即可(消息生产者和消费者都需要转换),如下示例:

    <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-stream-kafka</artifactId>
    </dependency>

     ->转换为

    <dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
    </dependency>

    依赖修改完,按整合kafka消息中间件时操作一样,先启动Eureka服务器,再分别启动消息生产者和消息消费者。启动消息生产者之后,打开rabbitMq控制台发现新增的通道名称会在exchanges栏目下显示,在kafka控制台是查询topic列表里面显示,如下图:

    一个消息生产者,如果启动多个消费者,且分组名不一样,在rabbitMq控制台queues栏目下会显示类似如下信息(分组名称分别是:groupA、groupB、groupC):

     

    rabbitmp工作模式示意图

     

    展开全文
  • 消息中间件应用场景

    2019-03-18 19:15:26
    消息队列中间件是分布式系统中重要的组件,主要实现异步消息,应用解耦,流量削峰及消息通讯等功能。下面举例说明在实际应用中消息队列是如何使用的。 异步处理 以用户注册,并且需要注册邮件和短信为例。 用户...

    消息队列中间件是分布式系统中重要的组件,主要实现异步消息,应用解耦,流量削峰及消息通讯等功能。下面举例说明在实际应用中消息队列是如何使用的。

    异步处理

    以用户注册,并且需要注册邮件和短信为例。
    用户注册后,需要发送注册邮件和注册短信。传统的做法有两种:串行和并行方式。如下图所示:

    1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。
    2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。

    假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒,并行的时间可能是100毫秒。

    因为CPU在单位时间内处理的请求数是一定的,假设CPU1秒内吞吐量是100次。则串行方式1秒内CPU可处理的请求量是7次(1000ms/150ms),并行方式处理的请求量是10次(1000ms/100ms)

    小结:如以上案例描述,传统的方式系统的性能(并发量,吞吐量,响应时间)会有瓶颈。如何解决这个问题呢?

    引入消息队列,将不是必须的业务逻辑,异步处理。改造后的架构如下:

    按照以上约定,用户的响应时间相当于是注册信息写入数据库的时间,也就是50毫秒。注册邮件,发送短信写入消息队列后,直接返回,因此写入消息队列的速度很快,基本可以忽略,因此用户的响应时间可能是50毫秒。因此架构改变后,系统的吞吐量提高到每秒20 QPS。比串行提高了3倍,比并行提高了两倍。

     

    应用解耦

    以用户下单购买业务为例。
    用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口。如下图

     传统模式的缺点:
    1)假如库存系统无法访问,则订单减库存将失败,从而导致订单失败。
    2)订单系统与库存系统耦合

    如何解决以上问题呢?引入应用消息队列后的方案,如下图:

    1)订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。
    2)库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作。

    假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。

     

    流量削峰

    流量削峰也是消息队列中的常用场景,一般在秒杀或团抢活动中使用广泛。
    秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,需要在应用前端加入消息队列。
    1)可以控制活动的人数。
    2)可以缓解短时间内高流量压垮应用。

    1)用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面。
    2)秒杀业务根据消息队列中的请求信息,再做后续处理。

     

    消息通讯

    消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用作消息通讯。比如实现点对点消息队列,或者聊天室等。

    以上实际是消息队列的两种消息模式,点对点或发布订阅模式。 

     

    展开全文
  • 6月23日,由上海软件行业协会与中创软件中间件公司共同主办的“SOA最佳实践----基于SOA架构的中间件应用高层研讨会”在上海成功举行。在SOA日渐深入人心的大趋势下,本次研讨会吸引了业界人士的广泛关注。6月23日,...
    6月23日,由上海软件行业协会与中创软件中间件公司共同主办的“SOA最佳实践----基于SOA架构的中间件应用高层研讨会”在上海成功举行。在SOA日渐深入人心的大趋势下,本次研讨会吸引了业界人士的广泛关注。

    6月23日,由上海软件行业协会与中创软件中间件公司共同主办的“SOA最佳实践----基于SOA架构的中间件应用高层研讨会”在上海成功举行。在SOA日渐深入人心的大趋势下,本次研讨会吸引了业界人士的广泛关注。

      来自国防科技大学、上海软协、华东计算所、华东32所的专家,以及上海海事局、华东电脑、亚太信息、方 程软件等的众多应用单位和软件企业的CTO、项目经理、软件工程师参加本次研讨会。会议由中国软件行业协会副会长、上海软件行业协会荣誉会长朱三元教授主 持,上海软件行业协会杨根兴秘书长致辞。中创软件副总经理Steve Chen、中创软件中间件公司总经理刘江宁等参加会议,并与到会专家、代表们进行了深入而热烈的探讨。

      SOA是目前最热门的话题,SOA的概念、技术、优点与应用实践的结合一直备受业内人士关注。本次会议 的主旨在于,集成平台提供商、应用开发商和应用单位的群体智慧,从SOA实施面临的问题入手,研讨SOA实施的切入点、关键步骤等,促进中间件与SOA技 术架构在实际工程应用中的结合,推动SOA在国内行业应用中“落地开花”,实现应用系统“面向服务,随需应变”,助力客户提升业务创新力和市场竞争力。

      朱三元教授认为“行业信息化已很成熟,应用系统也已接近饱和状态”,所以使得“如何有效整合和利用这些 系统数据,加强信息的互联和共享”成为主要的问题,而SOA与中间件正是解决整合问题的最有效工具”。上海软件行业协会秘书长杨根兴指出,“为了实现 SOA,必须要用一系列的中间件”。在本次研讨会上,中创软件中间件公司带来了基于长期应用开发背景和大型项目经验,遵循最新国际标准研发的机动的SOA 设施----InforSuite平台。该平台提供了快速而成功地实现面向服务架构(SOA)方法,可以适用于各种不同的企业,以及企业不同的发展阶段。 企业可以根据自身需要,在不同的阶段应用InforSuite的不同组件,并且可以基于InforSuite扩展开发适用于自身的业务构件,以建设最适用 的SOA平台。同时,中创软件中间件公司的技术专家们也与大家共同分享了多家全国性商业银行信贷系统、省级国税应用系统的SOA建设案例,引起了与会人员 的高度兴趣。

      杨根兴秘书长在会上呼吁业界更多关注中国自主创新中间件产品的发展,他说,“国产中间件在研究和国家专 项方面,取得了卓著的成果,有大量成功的应用”。“大力推广使用国产的中间件,是我们上海软件行业协会的使命,也是我们在座每个人的使命。”中创软件中间 件公司总经理刘江宁也在研讨会上表示,中国中间件的发展,经过了“十年磨一剑”的艰辛积累、磨砺,正在走向成熟,必将借SOA快速发展之势,进一步深入到 行业应用中。
    展开全文
  • 在总体设计时, 系统采用 B/S 多层体系结构, 平台选择 J2EE, 表示层的开发应用JSP技术, 数据持久层的开发应用 Hibernate 中间件技术, 此系统架构由于是通过网页的访问进行办公, 因此使管理机构可以通过军队形成互联, ...

          随着部队信息化建设的发展, 部队的许多机构、 部门内部都逐步实现了业务、信息的计算机化管理。例如司、政、后、装四大部都采用大型数据库来管理其业务数据。 但是, 由于各业务和功能归属不同, 使得所构建的信息服务和管理系统相互隔离, 甚至在通信团内 部, 各部门 所采用 的计算环境也由不同的开发平台组成。因此随着时间变化和技术发展, 这些由不同核心技术构建的信息系统中 数据源都是异构的, 信息和组织结构都不一样, 这就构成了 一个巨大而复杂的异构数据库环境。 如何利用现有网络资源, 连通各个隔绝的信息系统, 消除信息孤岛, 把分散的资源整合起来, 为信息综合应用 提供有效的数据支持, 而使得数据整合、数据集成、数据共享成为研究的热点。
    1 异构数据库
          异构数据库系统( Heterogeneousdatabase) 是相关的多个数据库系统的集合, 可以实现数据的共享和透明访问, 每个数据库系统在加入异构数据库系统之前本身就已经存在, 拥有自己的 DMBS。异构数据库的各个组成部分具有自身的自治性, 实现数据共享的同时, 每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。异构数据库系统的异构性主要体现在以下几个方面:
    ( 1) 计算机体系结构的异构。各个数据库可以分别运行在大型机、小型机、工作站、PC 或嵌入式系统中。
    ( 2) 基础操作系统的异构。各个数据库系统的操作系统可以是 Unix,Windows NT, Linux 等。
    ( 3) DMBS 本身的异构。可以是同为关系型数据库系统的Oracle,SQL Server 等, 也可以是不同数据模型的数据库, 如关系、模式、层次、网络、面向对象、函数型数据库共同组成一个异构数据库系统。
    2 数据库中间件
          所谓数据库中间件( Database Middleware), 是指位于Client 与Server之间的中介接口软件, 主要用于屏蔽异构数据库的底层细节问题。使用中间件的异构数据库集成有以下几种方法:
    ( 1) ODBC 开放数据库连接;
    ( 2) OLEDB( ObjectLinkand Embedding Database);
    ( 3)JDBC( Java Database Connectivity) Java 数据库连接;
    ( 4) ADO( ActiveXData Object)。
           数据库中间件 Hibernate 是前端的客户与后端的数据库之间进行通信的桥梁。当客户向Hibernate 发出对某数据库的SQL请求时 ,Hibernate 搜索当前可用的与该数据库的连接( JDBC), 通过 Hibernate 将SQL 请求转发给对应的数据库服务器。数据库服务器执行 SQL 语句后,将结果返回给 Hibernate, 再由它返回给客户。整个数据库中间件的体系结构采用 的是 3 层( Three-tier) 客户机/服务器模型。中间件与各个客户的数据通信采用流套接字( StreamSocket) 机制实现, 并且利用了多线程的优点, 使得中间件与各个客户的套接字通信能够并发地进行。中间件与后端数据库的接口使用了JDBC, 并且根据Internet/Intranet 上用户对数据库访问方式的特殊性, 采用多客户共享同一个Hibernate 的机制, 提高了数据库访问的效率。
           部队管理情况复杂, 层次性强, 动态变化快, 反映管理现状的信息量大, 内容复杂, 数据形式多样。异构数据的输入存储、整合、分析已成为部队待解决的问题。在总体设计时, 系统采用 B/S 多层体系结构, 平台选择 J2EE, 表示层的开发应用JSP技术, 数据持久层的开发应用 Hibernate 中间件技术, 此系统架构由于是通过网页的访问进行办公, 因此使管理机构可以通过军队形成互联, 用户可以在网内 进行工作, 使办公效率大大提高。在项目中创建的基于Struts 和Hibernate 框架的Web 架构的结构。
          随着计算机和网络技术的不断发展, 以及信息化建设的不断深入、软硬件资源的升级和各种应用 的扩展, 异构数据并存的系 统已十分普遍, 为了实现异构数据的互访, 并使现有的应用系统不必拥有大量数据移植的工作量, 而使得异构数据访问 的研究前景将十分广泛。随着各种中间件技术及产品粉墨登场,中间件技术已经逐渐走向成熟,更加有节奏、更加踏实地去解决用户的问题。在中间件技术领域,短期内也不会再出现革命性的技术,中间件技术将向着深入、实用、整合的方向发展,而且要持续相当长的一段时间。因此,用户将会更多采用现有的中间件技术,被誉为世界最快工作流的方正ES2007将会继续领跑国内中间件市场。当前,中间件技术发展的动向是更加适应应用系统的要求,贴近应用,与应用的发展同步。

    展开全文
  • BEA Tuxedo中间件应用初探

    千次阅读 2008-04-10 19:18:00
    随着中间件在大型应用系统中的日益普及,目前各类中间件充斥着市场,它们在银行、电信、金融等大规模关键事务领域中的整合各种异构平台、保证交易完整性等方面表现出了超强的能力。BEA Tuxedo就是其中一款著名的交易...
  • RFID 中间件的出现有助于实现RFID设备与企业应用系统之间的集成。该文提出一种基于面向服务体系架构的RFID集成应用方案,使企业应用系统能够通过服务接口层调用RFID中间件提供的...应用实例验证了该项方案的可行性。
  • MQ思路 本质:中间件(独立部署,用于多个系统之间)–数据存储。 MQ区别:开发语言不同–(接收请求–存储–分发) ActiveMQ --java语言阵营,针对MQ这种中间件的全面实现。 RabbitMq --amqp - 性能高、...MQ应用 有序
  • 对构建企业面向服务的体系结构(Service-Oriented Architecture,SOA)中间件应用程序感兴趣吗?JudithMyerson将向您提供四种可能的方法:自顶向下(top-down)、自底向上(bottom-up)、旁路(sideway)和嵌入式(embedding)...
  • 中间件的作用,怎么使用中间件应用场景 如果你想修改请求,例如被传送到view中的HttpRequest对象。 或者你想修改view返回的HttpResponse对象,这些都可以通过中间件来实现。 可能你还想在view执行之前做一些操作,...
  • 《水经注地图发布服务中间件》适合所有需要构建全国或全球地图数据服务器并发布海量影像数据的行业,主要包括考古、电力、水利、通信、物流、石油、国土、农业、林业、环保、环评、矿山、海洋、物探、规划设计、数字...
  • 本篇博客主要来自慕课网的课程:Java消息中间件 文章目录中间件介绍一、什么是中间件二、什么是消息中间件三、什么是JMS四、什么是AMQP五、常见消息中间件对比JMS规范一、...非底层操作系统软件,非业务应用软件,...
  • 大型web系统架构——mysql中间件应用

    千次阅读 2014-05-23 14:11:36
    原文:http://www.guokr.com/blog/475765/ mysql中间件研究(Atlas,cobar,TDDL)
  • 使用Spring Cloud Alibaba,您只需添加一些注释和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。 流量控制和服务降级:使用阿里巴巴Sentinel进行...
  • TP6中间件详解实例

    2020-11-19 20:37:40
    用处 中间件主要处理一些http的请求,比如过滤拦截等,并且做...中间件入口执行方法必须是handle方法,且第一个参数是Request对象,第二个参数是一个闭包。 中间件 handle 方法的返回值必须是一个 Response 对象 ...
  • Gin middleware中间件使用实例 2018.04.07 11:43 字数 945 阅读 4388评论 0喜欢 6 原文:http://www.ttlsa.com/golang/gin-middleware-example/ 翻译:devabel 我最近一段时间一直使用Go的Gin web框架开发...
  • Express是一个路由和中间件Web框架,其自身的功能很少:Express应用程序本质上是一系列中间件函数调用。 中间件功能是可以访问请求对象 (req),响应对象(res)和应用程序的请求、响应周期中的下一个中间件功能的功能...
  • 这篇文章主要分享Endpoint终结点路由的中间件应用场景及实践案例,不讲述其工作原理,如果需要了解工作原理的同学, 可以点击查看以下两篇解读文章: Asp.Net Core EndPoint 终结点路由工作原理解读 ASP.NET ...
  • 这篇文章主要分享Endpoint 终结点路由的中间件应用场景及实践案例,不讲述其工作原理,如果需要了解工作原理的同学, 可以点击查看以下两篇解读文章: Asp.Net Core EndPoint 终结点路由工作原理解读 ASP.NET ...
  • laravel 中间件Before we launch into using middleware with Laravel, what is middleware? In general, middleware is software that connects different systems to one another. In Laravel, it’s one of the ...
  • koa 中间件概念及应用

    2020-04-01 17:27:05
    原理: koa 实例化对象的use方法中的回调函数,如下面实例中的App.use((ctx,next)=>{}),有ctx,next两个参数。 可以ctx的request,response对象,可以终结相应... 应用中间件 在请求刚进入服务时,必须执行...
  • 在本视频教程中,您将逐步了解如何使用IBM Installation Manager在IBM®PureApplication®System上应用中间件维护。 首先,您将了解IBM Installation Manager存储库的内容和结构。 然后,您将看到如何将IBM ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,711
精华内容 34,684
关键字:

中间件应用实例