JAVA ’ 目录归档

秒杀架构实践

前言

之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。

本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好瓜子板凳(liushuizhang?)。

本文所有涉及的代码:

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 秒杀架构实践


Dubbo剖析-Dubbo协议

一、前言

TCP协议栈中,每层模型都有自己的协议报文格式,TCP协议是网络七层模型中的传输层,在TCP上层是应用层,应用层协议常见的有telnet等,Dubbo协议作为建立在TCP协议之上的一种协议,自然也有自己的协议包格式。

image.png

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: Dubbo剖析-Dubbo协议


使用Dubbo中需要注意的事项

一、前言

Dubbo作为高性能RPC框架,已经进入Apache卵化器项目,虽然官方给出了dubbo使用的用户手册,但是大多是一概而过,使用dubbo时候要尽量了解源码,不然会很容易入坑。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 使用Dubbo中需要注意的事项


深入理解线程通信

前言

开发中不免会遇到需要所有子线程执行完毕通知主线程处理某些逻辑的场景。或者是线程 A 在执行到某个条件通知线程 B 执行某个操作。这些场景可以通过以下几种方式实现:

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 深入理解线程通信


使用JetCache的异步API访问Redis缓存

摘要:
本文介绍了JetCache的异步API,通过异步方式访问缓存可以提升性能,降低RT。
JetCache的异步API和同步API是完全兼容的,甚至用同步的开发方式也能获得一部分异步带来的好处。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 使用JetCache的异步API访问Redis缓存


结合JVM源码浅谈Java类加载器

一、前言

之前文章 Java 类加载器揭秘 从Java层面讲解了Java类加载器的原理,这里我们结合JVM源码在稍微深入讲解下。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 结合JVM源码浅谈Java类加载器


JetCache快速入门

本文简要介绍了基于注解来配置使用JetCache的方式。当使用JetCache的注解时,可以搭配Spring4.0.8以上版本,或者Spring Boot 1.1.9以上版本,本文同时展示了这两种情况下的配置方式。如果不需要使用注解,也可以。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: JetCache快速入门


高性能 RPC 框架 Dubbo 从入门到深入-服务注册中心搭建(详细)

一、前言

整体来说,一个公司业务系统的演进流程基本都是从单体应用到多应用。在单体应用时,不同业务模块相互调用直接在本地 JVM 进程内就可以完成,而变为多个应用时,相互之间进行通信的方式就不能简单的进行本地调用了,因为不同业务模块部署到了不同的 JVM 进程里面,更常见的是部署到了不同的机器,这时候一个高效、稳定的 RPC 远程调用框架就变得非常重要。

Dubbo 是阿里巴巴开发的一个开源的高性能的远程服务调用框架,致力于提供高性能和透明化的 RPC 远程调用服务解决方案。作为阿里巴巴 SOA 服务化治理方案的核心框架,目前它已进入 Apache 卵化器项目,其前景可谓无限光明。

阅读全文


阿里巴巴开源框架-通用缓存访问JetCache介绍

JetCache是由阿里巴巴开源的通用缓存访问框架,如果你对Spring Cache很熟悉的话,请一定花一点时间了解一下JetCache,它更好用。

JetCache提供的核心能力包括:

  • 提供统一的,类似jsr-107风格的API访问Cache,并可通过注解创建并配置Cache实例
  • 通过注解实现声明式的方法缓存,支持TTL和两级缓存
  • 分布式缓存自动刷新,分布式锁 (2.2+)
  • 支持异步Cache API
  • Spring Boot支持
  • Key的生成策略和Value的序列化策略是可以定制的
  • 针对所有Cache实例和方法缓存的自动统计

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 阿里巴巴开源框架-通用缓存访问JetCache介绍


《Apache RocketMQ用户指南》官方文档

RocketMQ–导读

原文链接        译者:小村长

最近两个项目中用到了RocketMQ消息中间件,每次都是在网上找几个Demo,而没有去看它的官方文档。年前面试某大型互联网企业。RocketMQ多有提及。今借此机会翻译一篇RocketMQ的官方文档。希望能够对大家的工作和学习有所帮助。

由于RocketMQ是互联网企业解耦常用的消息中间件,希望大家在使用的时候也多多思考几个问题:

第一,RocketMQ由几部分组成以及每个组件的作用。

第二,RocketMQ消息怎么保证可靠性以及高可用性。

第三,RocketMQ消息种类以及怎么保证消息有序。

最后,我还是建议有能力的童鞋能够自己去Apache RocketMQ官方看看。 阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》官方文档


《Apache RocketMQ用户指南》之过滤消息示例

消息过滤示例

原文链接        译者:小村长

在大多数情况下,tag是一种简单而有用的设计,用于选择所需的信息。 例如:

DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE");
consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");

消费者将收到包含TAGA或TAGB或TAGB的消息. 但限制是一条消息只能有一个标签,而这对于复杂的情况可能无效。 在这种情况下,您可以使用SQL表达式筛选出消息.

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之过滤消息示例


《Apache RocketMQ用户指南》之批量消息示例

批量消息示例

原文链接        译者:小村长

 

为什么选择批量消息?

批量发送消息可提高单次发送消息的性能.

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之批量消息示例


《Apache RocketMQ用户指南》之日志追加消息示例

日志追加型日志示例

原文链接        译者:小村长

RocketMQ logappender提供log4j appender,log4j2 appender和logback appender供业务使用,下面是配置示例.

log4j

当使用log4j属性配置文件时,config如下.

log4j.appender.mq=org.apache.rocketmq.logappender.log4j.RocketmqLog4jAppender
log4j.appender.mq.Tag=yourTag
log4j.appender.mq.Topic=yourLogTopic
log4j.appender.mq.ProducerGroup=yourLogGroup
log4j.appender.mq.NameServerAddress=yourRocketmqNameserverAddress
log4j.appender.mq.layout=org.apache.log4j.PatternLayout
log4j.appender.mq.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-4r [%t] (%F:%L) %-5p - %m%n

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之日志追加消息示例


《Apache RocketMQ用户指南》之日志追加消息示例

OpenMessaging Example

原文链接        译者:小村长

 

OpenMessaging,其中包括建立行业准则和消息传递,流式规范,为金融,电子商务,物联网和大数据领域提供通用框架。 设计原则是分布式异构环境中面向云,简单,灵活和独立于语言的设计原则。 符合这些规范将使在所有主要平台和操作系统上开发异构消息传递应用成为可能。

RocketMQ提供了OpenMessaging 0.1.0-alpha的部分实现,以下示例演示了如何基于OpenMessaging访问RocketMQ。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之日志追加消息示例


《Apache RocketMQ用户指南》之有序的消息示例

有序消息

原文链接      译者:小村长

RocketMQ使用FIFO队列提供有序消息.

以下示例演示发送/接收全局和分区有序消息。

阅读全文

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《Apache RocketMQ用户指南》之有序的消息示例


return top