-
Java NIO框架Netty教程 (九)-再谈收发信息次数问题
在《Java NIO框架Netty教程(七)- 消息收发次数不匹配的问题》里我们试图分析一个消息收发次数不匹配的问题。当时笔者还是心存疑惑的。所以决定先学习一下Java NIO的Selector机制。 经过简单的了解,笔者大胆的猜测和“武断”一下该问题的原因。 首先,Selector机制让我们注册一个感兴趣的时间,然后只要有该时间发生,就会传递给接收端。我们写了三次,接收端一定会出发三次的。 然后…- 4
- 0
-
Java NIO框架Netty教程(十二)-并发访问测试(中)
写在前面:对Netty并发问题的测试和解决完全超出了我的预期,想说的东西越来越多。所以才出现这个中篇,也就是说,一定会有下篇。至于问题点的发现,OneCoder也在努力验证中。 继续并发的问题。在《Java NIO框架Netty教程(十一)-并发访问测试(上)》中,我们测试的其实是一种伪并发的情景。底层实际只有一个Channel在运作,不会出现什么无响应的问题。而实际的并发不是这个意思的,独立的客…- 8
- 0
-
Netty服务端启动
源码 1public final class Server { 2 3 public static void main(String[] args) throws Exception { 4 EventLoopGroup bossGroup = new NioEventLoopGroup(1); 5 EventLoopGroup workerGroup = new NioEventLoopGrou…- 9
- 0
-
Netty websocket
Network protocols WebSocket是一种高级网络协议,旨在提高Web应用程序的性能和响应能力。 我们将通过编写示例应用程序来探索Netty对它们的支持。 在第12章中,您将学习如何使用WebSocket实现双向数据传输,方法是构建一个聊天室服务器,其中多个浏览器客户端可以实时通信。 您还将看到如何通过检测客户端是否支持它,从应用程序中的HTTP切换到WebSocket协议。 我…- 10
- 0
-
kafka原理和实践(四)spring-kafka消费者源码
系列目录 kafka原理和实践(一)原理:10分钟入门 kafka原理和实践(二)spring-kafka简单实践 kafka原理和实践(三)spring-kafka生产者源码 kafka原理和实践(四)spring-kafka消费者源码 kafka原理和实践(五)spring-kafka配置详解 kafka原理和实践(六)总结升华 ==============正文分割线=========…- 37
- 0
-
Kafka分区分配策略(3)——自定义分区分配策略
自定义分区分配策略 读者不仅可以任意选用Kafka所提供的3种分配策略,还可以自定义分配策略来实现更多可选的功能。自定义的分配策略必须要实现org.apache.kafka.clients.consumer.internals.PartitionAssignor接口。PartitionAssignor接口的定义如下: 1Subscription subscription(Set<String…- 18
- 0
-
kafka管理监控插件
kafka 监控插件 1.KafkaOffsetMonitor 项目地址: https://github.com/quantifind/KafkaOffsetMonitor KafkaOffsetMonitor是用来实时监控Kafka集群的consumers以及它们在partition中的offset(偏移量)。 You can see the current consumer groups, f…- 14
- 0
-
docker安装kafka,超级简单的
简介 kafka是一个分布式消息队列。具有高性能、持久化、多副本备份、横向扩展能力。生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。一般在架构设计中起到解耦、削峰、异步处理的作用。 kafka对外使用topic的概念,生产者往topic里写消息,消费者从读消息。为了做到水平扩展,一个topic实际是由多个partition组成的,遇到瓶颈时,可以通过增加partition的数量来进行横向扩…- 16
- 0
-
flume+kafka+storm
1. 需求 将mysql增量变化的数据,实时的插入到postgresql数据库中,方法有多种实现,这里采用通过flume配置mysql的数据库源,然后flume采集到mysql的增量数据,作为kafka的生产者,然后进入kafka短暂存储,storm作为kafka的消费者,消费到kafka中的增量mysql数据,进行处理,插入到postgresql中。 整个实验环境在HDP环境中,也可以自行搭建A…- 16
- 0
-
Docker 之 部署RabbitMQ集群并实现Haproxy代理(二)
前言 本小节学习一下使用Docker-compose部署Rabbitmq集群。 目录参考 1[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# pwd 2/workspace/rabbitmq 3[root@iZ2ze8sm5upgi8z1dcazqeZ rabbitmq]# tree 4. 5├── config 6│ └── docker-compose.yml …- 4
- 0
-
使用Rabbitmq/spring进行RPC
使用RabbitMQ进行RPC的必要 常见的RPC方法/协议包括CORBA,Java RMI,Web Service,Hessian,Thrift及Rest API,相对于前面提到的RPC方式,使用RabbbitMQ(JMS也是一样)方式需要在client-service provider中间增加MQ组件,这样做增加了部署的复杂性,但同时带来额外的好处。 可以对service provider进行…- 10
- 0
-
-
RabbitMQ消息队列(二):”Hello, World“
本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据”Hello, World“。 首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列。它实现的功能”非常简单“:从Producer接收数据然后传递到Consumer。它能保证多并发,数据安全传递,可扩展。 和任何的Hello world一样,它们都不复杂。我们将会设…- 9
- 0
-
GlusterFS分布式存储系统
1. 分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,已经不能满足目前的需求。 分布式文件系统可以有效解决数据的存储和管理难题,将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在…- 31
- 0
-
Jmeter分布式压测
一、原因 1、当你想并发很大的时候(比如3000)那么一台jmeter可能就不能胜任了,这时候就需要多台jmeter同时加压 2、当jmeter压力机安装在没有gui的linux上,又不想通过非gui的方式完成性能测试 二、原理 原理很简单就是找一台装有jmeter的机器当控制端,由这个控制端统一控制其它装有jmeter的机器作为代理,产生压力。如下图 三、安装jdk和jmeter 1、分别下载…- 13
- 0
-
Zookeeper实现分布式锁
文章目录 什么是Zookeeper Zookeeper集群机制 Zookeeper特性 Zookeeper数据结构 Zookeeper应用场景 Zookeeper的环境搭建(linux) Zookeeper客户端 Zookeeper配置文件介绍 Java操作Zookeeper Zookeeper的事件通知 使用Zookeeper实现分布式锁的思路 Redis实现分布式锁代码实现 什么是Zookee…- 15
- 0
-
20. Dubbo原理解析-通信层之引用服务
二:消费方引用服务 服务调用方在引用服务refer时候创建对服务提供者的链接:构建DubboInvoker时候需要获取ExchangeClient作为构造器参数传入 Exchangers.connect(url, requestHanler)à HeaderExchanger.connect(url,exhangeHandler) 构建HeaderExchangeClient,获取传…- 12
- 0
-
5.Dubbo原理解析-代理之Javassist字节码技术生成代理
JavassistProxyFactory:利用字节码技术来创建对象 public <T> T getProxy(Invoker<T> invoker,Class<?>[] interfaces) { return (T) Proxy.getProxy(interfaces).newInstance(newInvokerInvocationHndl…- 10
- 0
-
Dubbo负载均衡:一致性Hash的实现分析
LoadBalance负责从多个Invoker中选出具体的一个用于本次调用,以分摊压力。Dubbo中LoadBalance结构如下图。 1com.alibaba.dubbo.rpc.cluster.LoadBalance 2接口提供了 3<T> Invoker<T> select(List<Invoker<T>> invokers, URL url,…- 30
- 0
-
一句话说清分布式锁,进程锁,线程锁
在分布式集群系统的开发中,线程锁往往并不能支持全部场景的使用,必须引入新的技术方案分布式锁。 线程锁,进程锁,分布式锁 **线程锁:**大家都不陌生,主要用来给方法、代码块加锁。当某个方法或者代码块使用锁时,那么在同一时刻至多仅有有一个线程在执行该段代码。当有多个线程访问同一对象的加锁方法/代码块时,同一时间只有一个线程在执行,其余线程必须要等待当前线程执行完之后才能执行该代码段。但是,其余线程…- 9
- 0
-
Java集群优化——dubbo+zookeeper构建高可用分布式集群
不久前,我们讨论过Nginx+tomcat组成的集群,这已经是非常灵活的集群技术,但是当我们的系统遇到更大的瓶颈,全部应用的单点服务器已经不能满足我们的需求,这时,我们要考虑另外一种,我们熟悉的内容,就是分布式,而当下流行的Dubbo框架,不容我们忽视,这里,咱们一起来探讨一下这个框架的使用。 一,背景 以前我们需要远程调用他人的接口,我们是这么做的: …- 7
- 0
-
如何编写 INF 文件
如何编写 INF 文件 INF文件全称Information File文件,是Winodws操作系统下用来描绘设备或文件等数据信息的文件。INF文件是由规范的ASCII码组成,您能够用任何一款文字编辑器查看修正其中的内容。普通我们总是以为INF文件是系统设备的驱动程序,其实这是错误的认识,Windows之所以在装置某些硬件的驱动时提示需求INF文件是由于INF文件为该设备提供了一个全面描绘硬件参数…- 23
- 0
-
SpringCloud微服务监控——admin(三):admin客户端
admin服务端编写好了之后,还需要对客户端进行一些改造: 1):在POM中添加jar包: 1<dependency> 2 <groupId>de.codecentric</groupId> 3 <artifactId>spring-boot-admin-starter-client</artifactId> 4</dependen…- 29
- 0
-
Spring-cloud 微服务架构搭建 03 – Hystrix 深入理解与配置使用
文章目录 hystrix简介 hystrix-service 模块快速搭建 hystrix 回退机制 hystrix 线程池隔离和参数微调 hystrix 缓存配置 hystrix 异常抛出处理 hystrix 请求合并 Hystrix ThreadLocal上下文的传递 1. hystrix简介 分布式的服务系统中,出现服务宕机是常有的事情,hystrix提供的客户端弹性模式设计可以快速失败客户…- 1
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!













