文章分类 -  综合

摘要:今天来聊聊如何让项目异步化的一些事。 1.同步和异步,阻塞和非阻塞 同步和异步,阻塞和非阻塞, 这个几个词已经是老生常谈,但是常常还是有很多同学分不清楚,以为同步肯定就是阻塞,异步肯定就是非阻塞,其实他们不是一回事。 同步和异步关注的是结果消息的通信机制 同步:同步的意思就是调用方需要主动等待结果的 阅读全文
posted @ 2021-05-06 11:24 弱水三千12138 编辑
摘要:背景 在之前的文章中你应该知道的缓存进化史介绍了爱奇艺的缓存架构和缓存的进化历史。俗话说得好,工欲善其事,必先利其器,有了好的工具肯定得知道如何用好这些工具,本篇将介绍如何利用好缓存。 1.确认是否需要缓存 在使用缓存之前,需要确认你的项目是否真的需要缓存。使用缓存会引入的一定的技术复杂度,后文也将 阅读全文
posted @ 2021-05-06 11:03 弱水三千12138 编辑
摘要:1.背景 本文是上周去技术沙龙听了一下爱奇艺的Java缓存之路有感写出来的。先简单介绍一下爱奇艺的java缓存道路的发展吧。 可以看见图中分为几个阶段: 第一阶段:数据同步加redis 通过消息队列进行数据同步至redis,然后Java应用直接去取缓存 这个阶段优点是:由于是使用的分布式缓存,所以数 阅读全文
posted @ 2021-05-06 11:02 弱水三千12138 编辑
摘要:1.前言 想必热爱游戏的同学小时候,都幻想过要是自己要是能像鸣人那样会多重影分身之术,就能一边打游戏一边上课了,可惜漫画就是漫画,现实中并没有这个技术,你要么只有老老实实的上课,要么就只有逃课去打游戏了。虽然在现实中我们无法实现多重影分身这样的技术,但是我们可以在计算机世界中实现我们这样的愿望。 2 阅读全文
posted @ 2021-05-06 11:01 弱水三千12138 编辑
摘要:1.背景 1.1 什么是API网关 API网关可以看做系统与外界联通的入口,我们可以在网关进行处理一些非业务逻辑的逻辑,比如权限验证,监控,缓存,请求路由等等。 1.2 为什么需要API网关 RPC协议转成HTTP。 由于在内部开发中我们都是以RPC协议(thrift or dubbo)去做开发,暴 阅读全文
posted @ 2021-05-06 10:59 弱水三千12138 编辑
摘要:1.前言 最近偶然间看见一道名为史上最难的java面试题,这个题让了我对线程安全的有了一些新的思考,给大家分享一下这个题吧: public class TestSync2 implements Runnable { int b = 100; synchronized void m1() throws 阅读全文
posted @ 2021-05-06 10:57 弱水三千12138 编辑
摘要:背景 在前几天,群里有个群友问了我一道面试阿里的时候遇到的多线程题目,这个题目比较有意思,在这里和大家分享一下。 废话不多说,直接上题目: 通过N个线程顺序循环打印从0至100,如给定N=3则输出: thread0: 0 thread1: 1 thread2: 2 thread0: 3 thread 阅读全文
posted @ 2021-05-06 10:55 弱水三千12138 编辑