-
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)背后的主体思想是 避免立刻去执行耗时任务并且等待它们完成。 相反我们可以安排这样的任务稍后执行. 我们可以把任务封装成一个消息并发送到队列中. 一…- 8
- 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
-
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
-
微服务分布式事务实战(十)分布式事务综合大测试(全,共10篇)
准备: 1启动注册中心; 2启动redis ; 3启动事务管理器 4启动mysql ; 5启动微服务1 ; 6启动微服务2 7 8 (1)正常事务测试: 不抛出异常,两边都插入 1 设计没有故障整合服务 1@TxTransaction(isStart=true) 2 @Override 3 @Transactional 4 public int saveBlockTheme(Block block…- 8
- 0
-
微服务架构核心(五)- 服务发现
每一个服务都存在服务的提供方与消费方,服务发现就是消费方发现并且调用服务方提供的服务。 在微服务架构下,存在众多的消费方与服务方,而且服务运行在不同的进程之中,消费方如果想要调用某一个服务,必须通过远程调用的方式,此时就会遇到下面几个问题: 消费方如何知道服务方的调用地址? 以集群方式部署的服务方,如何保证负载均衡? 当服务方发生变动,例如IP变更、服务下线等,如何通知到消费方? 服务发现的出现,…- 7
- 0
-
ASP.NET Core微服务之基于Steeltoe使用Spring Cloud Config统一管理配置
Tip: 此篇已加入.NET Core微服务基础系列文章 一、关于Spring Cloud Config 在分布式系统中,每一个功能模块都能拆分成一个独立的服务,一次请求的完成,可能会调用很多个服务协调来完成,为了方便服务配置文件统一管理,更易于部署、维护,所以就需要分布式配置中心组件了,在Spring Cloud中,就有这么一个分布式配置中心组件 — Spring Cloud Config。 S…- 9
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!












