犀利豆的博客

高质量的技术博客

机房迁移以后终于可以用上 Java 8了,本教程将会分为三个方面介绍Java 8 的新特性。首先给大家介绍 Java 8 的Lambda 表达式。

Read more »

最近学习 吴恩达 的DeepLearning 的时候,发现自己的 python水平有点弱。就像想找个练手的东西写一写。想来想去也没有什么想法。今天闲逛知乎的时候发现,有一个用 php 实现的 workflow。可以使用Alfred 调用网易有道的翻译API,查出单词,但是上网一搜使用的 api 网易将会在 2017年12月下线。于是决定自己使用新的api撸一个,提升自己的 python 的水平。

于是就有了这个小玩具。

Read more »

最近想了解一下分布式消息系统是怎么组成的于是就花了一些时间研究了kafka的实现原理。记录下来方便自己复习和回忆。kafka的设计思想很精妙,可以借鉴到大部分的分布式系统中。

Read more »

十一假期,本来想找一本股票相关书读一读。机缘巧合就找到了这本武剑锋博士写的《交易系统》。这本书主要讲了上海证券交易系统在技术管理、架构设计、应用调优、切换部署、运行维护等方面的经验和教训。成书的时间大概是在2010年,交易系统的上线时间大概在2008年,聚现在已经接近十年了,但是书中介绍的很多开发时候的原则和思路放在今天来看也有很大的价值可以学习。同时,这也是一本介绍大型系统开发的简要过程的参考书目。

本书涉及了不少的证券相关知识,涉及证券知识的章节我就略读做了解。对剩下的关于大型系统的设计,管理,架构,优化相关的章节进行了精读,记录相关笔记供自己回顾和思考。

Read more »

极光推送免费版每分钟600次的请求限制实在是把我恶心坏了,考虑到现在我们 Android 的推送已经全量接入了小米,所以接下来就是要把 iOS 的推送直接接入 APNS 这样就可以彻底摆脱极光的推送。不再受这个600次/分钟的限制了。APNS使用 HTTP2 协议进行通信所以自然就想到了使用Netty作为网络框架,进行开发。下面逐个给大家介绍使用 Netty 接入 APNS 的注意事项和接入的时候踩到的坑。

Read more »

Future是什么?

最近写了一些关于netty的相关代码,发现类似netty 的这种异步框架大量的使用一个Future的类。利用这个future类可以实现,代码的异步调用,程序调用耗时的网络或者IO相关的方法的时候,首先获得一个Future的代理类,同时线程并不会被阻塞。继续执行之后的逻辑,直到真正要使用远程调用返回的结果的时候,才需要调用future的get()方法。这样可以提高代码的执行效率。
于是就花了一点时间研究future是如何实现的。调用方式如何知道,结果什么时候返回的呢?如果使用一个线程去轮询flag 标记,那么就很难及时的感知对象的改变,同时还很难降低开销。。所以我们需要了解java的等待通知机制。利用这个机制来构建一个节能环保的Future。

Read more »

1、Hystrix是什么

Hystrix 是Netflix开源的一个针对分布式容错和库。Hystrix的主要功能是隔离分布式系统之间的故障,防止故障带来的雪崩效应。同时也能提供一个分布式服务的优雅的降级方案。从而提高系统的可用性的组件。

Read more »

之前我们使用的定时任务都是只部署在了单台机器上,为了解决单点的问题,为了保证一个任务,只被一台机器执行,就需要考虑锁的问题,于是就花时间研究了这个问题。到底怎样实现一个分布式锁呢?

锁的本质就是互斥,保证任何时候能有一个客户端持有同一个锁,如果考虑使用redis来实现一个分布式锁,最简单的方案就是在实例里面创建一个键值,释放锁的时候,将键值删除。但是一个可靠完善的分布式锁需要考虑的细节比较多,我们就来看看如何写一个正确的分布式锁。

Read more »
0%