-
Mina、Netty、Twisted一起学(五):整合protobuf
protobuf是谷歌的Protocol Buffers的简称,用于结构化数据和字节码之间互相转换(序列化、反序列化),一般应用于网络传输,可支持多种编程语言。 protobuf如何使用这里不再介绍,本文主要介绍在MINA、Netty、Twisted中如何使用protobuf,不了解protobuf的同学可以去参考我的另一篇博文。 在前面的一篇博文中,有介绍到一种用一个固定为4字节的前缀Heade…- 11
- 0
-
Java NIO框架Netty教程(一) – Hello Netty
本站采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议, 如非特别注明,本站内容均为OneCoder原创,转载请务必注明作者和出处 本文地址:链接地址 Java程序员-1群 (已满):225893085:Java程序员-2群:206787481: Java程序员群论坛,每天分享实用资源 OneCoder的图传已从又拍图片管家迁移到七牛云存储,由于文章过多无法一一修改,如果文中图片无…- 31
- 0
-
Spark为何使用Netty通信框架替代Akka
导读 一直以来,基于Akka实现的RPC通信框架是Spark引以为豪的主要特性,也是与Hadoop等分布式计算框架对比过程中一大亮点,但是时代和技术都在演化,从Spark1.3.1版本开始,为了解决大块数据(如Shuffle)的传输问题,Spark引入了Netty通信框架,到了1.6.0版本,Netty居然完全取代了Akka,承担Spark内部所有的RPC通信以及数据流传输。 一、网络IO扫盲 在…- 66
- 0
-
Netty系列之Netty高性能之道
1. 背景 \ 1.1. 惊人的性能数据 \ 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 \ 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的…- 43
- 0
-
Netty系列之Netty高性能之道
1. 背景 \ 1.1. 惊人的性能数据 \ 最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。 \ 事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高性能的…- 6
- 0
-
Kafka实战(三) – Kafka的自我修养与定位
Kafka是linkedin使用Scala编写具有高水平扩展和高吞吐量的分布式消息系统。 Kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。 无论是Kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性,为集群保…- 6
- 0
-
Kafka分区分配策略(4)——分配的实施
分配的实施 我们了解了Kafka中消费者的分区分配策略之后是否会有这样的疑问:如果消费者客户端中配置了两个分配策略,那么以哪个为准?如果有多个消费者,彼此所配置的分配策略并不完全相同,那么以哪个为准?多个消费者之间的分区分配是需要协同的,那么这个协同的过程又是怎样? 在kafka中有一个组协调器(GroupCoordinator)负责来协调消费组内各个消费者的分区分配,对于每一个消费组而言,在ka…- 9
- 0
-
kafka解决了什么问题?
Web应用:部署在云服务器上,为个人电脑或者移动用户提供的访问体验。 SQL数据库:为Web应用提供数据持久化以及数据查询。 这套架构简洁而高效,很快便能够部署到百度云等云计算平台,以便快速推向市场。互联网不就是讲究小步快跑嘛! 好景不长。随着用户的迅速增长,所有的访问都直接通过SQL数据库使得它不堪重负,不得不加上缓存服务以降低SQL数据库的荷载;为了理解用户行为,开始收集日志并保存到Hadoo…- 4
- 0
-
spark读取 kafka nginx网站日志消息 并写入HDFS中
spark 版本为1.0 kafka 版本为0.8 首先来看看kafka的架构图 详细了解请参考官方 我这边有三台机器用于kafka 日志收集的 A 192.168.1.1 为server B 192.168.1.2 为producer C 192.168.1.3 为consumer 首先在A上的kafka安装目录下执行如下命令 1./kafka-server-start.sh ../config…- 13
- 0
-
Java使用RabbitMQ(十)–常用操作以及注意事项
为了防止众所周知的身份信息用于生产环境的系统,guest只能用来访问本地。 channel可以主动关闭,但是这不是必须的,在关闭它所依赖的连接时,channel也会自动被关闭。 connection设计为长连接。 有个no wait 版本的队列 1channel.queueDeclareNoWait(queueName, true, false, false, null); 2 这种队列不接收ra…- 8
- 0
-
Docker下RabbitMQ四部曲之一:极速体验(单机和集群)
从本章开始,我们一起在Docker环境实战RabbitMQ环境部署和对应的Java开发,当前是《Docker下RabbitMQ四部曲》系列的第一篇,整个系列由以下四篇文章组成: 第一篇,即本章,我们用最快的方式体验RabbitMQ单机环境下生产和消费消息,然后再体验RabbitMQ集群环境下生产和消费消息; 第二篇,详细说明如何制作RabbitMQ的docker镜像文件,这个镜像支持集群,也能通过…- 17
- 0
-
AMQP-RabbitMQ/6/RPC模式/关注消息处理结果
6. RPC But what if we need to run a function on a remote computer and wait for the result? Well, that’s a different story. This pattern is commonly known as Remote Procedure Call or RPC. 大概意思是说,上面几种模式…- 6
- 0
-
基于Python语言使用RabbitMQ消息队列(二)
工作队列 在第一节我们写了程序来向命名队列发送和接收消息 。在本节我们会创建一个工作队列(Work Queue)用来在多个工人(worker)中分发时间消耗型任务(time-consuming tasks)。 工作队列(又叫做: Task Queues)背后的主体思想是 避免立刻去执行耗时任务并且等待它们完成。 相反我们可以安排这样的任务稍后执行. 我们可以把任务封装成一个消息并发送到队列中. 一…- 7
- 0
-
RabbitMQ消息队列(三):任务分发机制
<=== RabbitMQ消息队列(二):”Hello, World“ 在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送“Hello World”的问题。在实际的应用场景中,这是远远不够的。从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法。 当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机…- 4
- 0
-
Elastic-Job – 分布式定时任务框架
摘要 Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。去掉了和dd-job中的监控和ddframe接入规范部分。该项目基于成熟的开源产品Quartz和Zookeeper及其客户端Curator进行二次开发。ddframe其他模块也有可独立开源的部分,之前当当曾开源过dd-soa的基石模块DubboX。项目开源地址:https://github.com/…- 5
- 0
-
SpringBoot集成RabbitMQ
AmqpTemplate,RabbitTemplate Spring AMQP提供了一个发送和接收消息的操作模板类AmqpTemplate。 AmqpTemplate它定义包含了发送和接收消息等的一些基本的操作功能。RabbitTemplate是AmqpTemplate的一个实现。 RabbitTemplate支持消息的确认与返回,为了返回消息,RabbitTemplate 需要设置mandato…- 35
- 0
-
linux安装rabbitmq
博客出自永远的麦子,原文地址:https://www.cnblogs.com/mcgrady/p/7614417.html。感谢博主分享。 安装erlang 1、通过yum安装以下组件,运行命令: 1[root@rabbitmqserver erlang]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-…- 2
- 0
-
16. Dubbo原理解析-集群&容错之router路由服务
Router服务路由, 根据路由规则从多个Invoker中选出一个子集AbstractDirectory是所有目录服务实现的上层抽象, 它在list列举出所有invokers后,会在通过Router服务进行路由过滤。 Router接口定义 public interface Router extendsComparable<Router> { URL getUrl(); <…- 16
- 0
-
Dubbo负载均衡:最少活跃数(LeastActive)的实现分析
最少活跃数的含义 官方解释:最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少。 例如,每个服务维护一个活跃数计数器。当A机器开始处理请求,该计数器加1,此时A还未处理完成。若处理完毕则计数器减1。而B机器接受到请求后很快处理完毕。那么A,B的活跃数分别是1,0。当又产生了一个新的请求,则选择B机器去执行(B活跃数最小),这样使慢的机器A收到少的请求。 最少活跃数的实现分…- 11
- 0
-
Springboot+Dubbo+Nacos 注解方式实现微服务调用
一.项目结构 1|-- spring-boot-dubbo-demo (父级工程) 2 |-- spring-boot-dubbo-base (基础工程) 3 |-- spring-boot-dubbo-consumer (消费者) 4 |-- spring-boot-dubbo-provider (生产者) 5 6 SpringBoot版本:2.2.0 Dubbo版本:2.7.…- 6
- 0
-
dubbo管理控制台安装和使用
关于dubbo的配置使用已经配置好了简单的示例,下面先记录下dubbo管理控制台的安装和使用(用的zookeeper的注册中心),在网上找了些按照示例 dubbo管理控制台开源部分主要包含: 提供者 路由规则 动态配置 访问控制 权重调节 负载均衡 负责人,等管理功能。 1、下载dubbo 官方地址:http://code.alibabatech.com/mvn/relea…- 15
- 0
-
Redis分布式锁—-乐观锁的实现,以秒杀系统为例
摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning 乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字段来实现读取出数据时,…- 23
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day01 项目的搭建
声明:此项目是本人为了学习而记录下来的 并不适用于每个人 如果有不懂得地方可以私信或者留言 最后祝大家敲代码永无BUG! 文章目录 项目背景 功能模块 项目技术架构 技术架构 技术栈 前台技术 * 后台架构 后端项目微服务原型搭建 搭建一个顶级父类 hrm_parent 搭建springcloud微服务支持模块 hrm_support_parent 搭建Eureka注册中心 hrm-eureka-…- 6
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!















