Mobabel Blog

[汇总]锁Lock经验 0

[汇总]锁Lock经验

【万字长文】高并发中的线程通信,看这一篇就够了! 活锁,也许你需要了解一下 ReentrantLock#tryLock(long timeout, TimeUnit unit)

[汇总]Thread线程经验 0

[汇总]Thread线程经验

多线程真的会使用CPU所有的内核吗? 线程的调度是根据cpu的算法,如果线程的运算量不大,cpu算法调度线程不一定会平均分配给每个内核的。那意思是如果运算量大的话,就会使用到其他的内核咯? 单核 CPU 支持 Java 多线程吗?为什么? 时间片 超线程 上下文切换 切换查看 线程调度 引起线程上下文切换的因素   如何停止一个正在运行的线程 建议使用“抛异常”的方法来实现线程的停止,因为在catch块中还可以将异常向上抛,使线程停止事件得以传播。

[转]高并发下的接口幂等性如何实现 0

[转]高并发下的接口幂等性如何实现

1. 一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果;2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题等等很多重要的情况都需要幂等的特性来支持。

[汇总] TiDB经验 0

[汇总] TiDB经验

为什么我们要从MySQL迁移到TiDB? 1.3 万亿条数据查询,如何做到毫秒级响应?TiDB 

[汇总]构架模型&文档 0

[汇总]构架模型&文档

The C4 Model for Software Architecture 用于软件架构的 C4 模型 阿里巴巴的技术专家,是如何画好架构图的? 阿里技术专家:架构制图方法论 开发框架文档体系化的思考

[汇总] RabbitMQ经验 0

[汇总] RabbitMQ经验

SpringBoot+RabbitMQ ,保证消息100%投递成功并被消费(附源码) SpringBoot +RabbitMQ 做智能家居 rabbitmq有两种协议,我们平时接触的消息队列是用的AMQP协议,而用在智能硬件中的是MQTT协议。 RabbitMQ和Kafka的显著差异 只要我们是单个消费者,那么接收到的消息就是有序的。然而,一旦有多个消费者从同一个队列中读取消息,那么消息的处理顺序就没法保证了。 Kafka能够保证发送到相同主题分区的所有消息都能够按照顺序处理。

[汇总]JVM, OOM经验 0

[汇总]JVM, OOM经验

记一次隐藏很深的 JVM 线上惨案的分析、排查、解决! JVM在反射代码执行的过程导致Full GC   ArrayList插入1000w条数据之后,我怀疑了jvm… 加个 -XX:+PrintGCDetails -XX:+PrintGCDateStamps,看下第一次是不是有Full GC   案例实战:每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化?   神奇的 perfma:一站式解决所有 JVM 疑难杂症! JVM参数分析的链接地址:https://opts.console.perfma.com/   生产实践经验:线上系统的 JVM 内存是越大越好吗? 所以很多人在用Elasticsearch的时候就是这样的一个问题,老是觉得ES读取速度慢,几个亿的数据写入ES,读取的时候要好几秒。那能不花费好几秒吗?你要是ES集群部署的时候,给JVM内存过大,给os cache留了几个GB的内存,导致几亿条数据大部分都在磁盘上,不在os cache里,最后读取的时候大量读磁盘,耗费个几秒钟是很正常的。 所以说,针对类似Kafka、Elasticsearch这种生产系统部署的时候,应该要给JVM比如6GB或者几个GB的内存就可以了。因为他们可能不需要耗费过大的内存空间,不依赖JVM内存管理数据,当然具体是设置多少,需要你精准的压测和优化。 但是对于这类系统,应该给os cache留出来足够的内存空间,比如32GB内存的机器,完全可以给os cache留出来20多G的内存空间,那么此时假设你这台机器总共就写入了20GB的数据,就可以全部驻留在os cache里了。然后后续在查询数据的时候,不就可以全部从os cache里读取数据了,完全依托内存来走,那你的性能必然是毫秒级的,不可能出现几秒钟才完成一个查询的情况。   为什么我们选择Java开发高频交易系统?...

[汇总]Service Mesh经验 0

[汇总]Service Mesh经验

美团点评的Service Mesh实践及落地难点解析 顺丰科技 Service Mesh 落地半年:最初目标已经实现,将在更多场景进行大规模探索