- 博客(8)
- 收藏
- 关注
原创 深入浅出OAuth 2.0授权机制
前言举个简单的例子。新浪微博是你的家,有时候你会想让一些人(第三方应用)去你的家里帮你办点事情,或者取点东西。你可以直接复制一把钥匙(用户名和密码)给他们,但这里存在几个问题:别人拿了钥匙后可以去你家里的所有房间。别人拿到你的钥匙后也许会不小心丢到,甚至故意送到它人手里。这样你都不知到谁有你家钥匙。过一段时间你也许会想要回自己的钥匙,但别人不还怎么办? 总结起来就是两个...
2018-07-17 16:53:55 1424
原创 实战Spring Boot 2.0系列(六) - 单机定时任务的几种实现
前言定时任务 一般会存在 中大型企业级 项目中,为了减少 服务器、数据库 的压力,往往会以 定时任务 的方式去完成某些业务逻辑。常见的就是 金融服务系统 推送回调,一般支付系统订单在没有收到成功的回调返回内容时会 持续性的回调,这种回调一般都是 定时任务 来完成。还有就是 报表的生成,我们一般会在客户 访问量小 时完成这个操作,也可以采用 定时任务 来完成。正文...
2018-07-17 16:51:48 1845
原创 Android异步框架RxJava 1.x系列(三) - 线程调度器Scheduler
前言RxJava 事件的发出和消费都在同一个线程,基于同步的观察者模式。观察者模式的核心是后台处理,前台回调的异步机制。要实现异步,需要引入 RxJava 的另一个概念 - 线程调度器 Scheduler。正文在不指定线程的情况下,RxJava 遵循的是线程不变的原则。即在哪个线程调用 subscribe() 方法,就在哪个线程生产事件;在哪个线程生产事件,就在哪个线程消费...
2018-07-16 15:49:25 778
原创 Android异步框架RxJava 1.x系列(二) - 事件及事件序列转换原理
前言在介绍 RxJava 1.x 线程调度器之前,首先引入一个重要的概念 - 事件序列转换。RxJava 提供了对事件序列进行转换的支持,这是它的核心功能之一。正文1. 事件序列转换定义所谓转换,就是将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列,有点类似 Java 1.8 中的流处理。2. 事件序列转换API首先看一个 map()...
2018-07-16 15:41:49 326
原创 Android异步框架RxJava 1.x系列(一) - 观察者模式及实现
前言RxJava 是一款基于 Java VM 实现的响应式编程扩展库 - 基于观察者模式的异步和事件处理框架。RxJava 官方目前同时维护了两个版本,分别是 1.x 和 2.x,区别是它们使用不同的 group id 和 namespaces。 版本 group id namespaces v1.x io.reactivex io.reactiv...
2018-07-16 11:32:51 267
原创 微服务的反模式和陷阱(三) - 共享反模式
前言微服务是一种 无共享的架构,另一层意思是 “尽量不共享” 模式(share-as-little-as-possible), 因为总有一些 代码 会在微服务之间共享。然后如果太过频繁的使用 共享代码 最终会出现 依赖噩梦,这就是共享反模式。正文共享反模式微服务是一种 无共享的架构,另一层意思是 “尽量不共享” 模式(share-as-little-as-possib...
2018-07-13 22:53:45 854
原创 微服务的反模式和陷阱(二) - 超时反模式
前言分布式应用的挑战之一就是如何管理 远程服务 的 可用性 和它们的 响应。虽然服务可用性和服务响应都涉及到服务的通信,但它们是两个完全不同的东西。服务可用性 是服务消费者 连接服务 并能够 发送请求 的能力,服务响应 则关注服务的 响应时间。这里就涉及微服务中的 超时反模式。正文超时反模式微服务是一种 分布式的架构,它所有的组件(也就是服务)会被部署为单独的应用程...
2018-07-13 22:52:28 352
原创 微服务的反模式和陷阱(一) - 数据驱动的迁移反模式
前言采用 数据驱动迁移反模式 主要发生在当你从一个 单体应用 向 微服务架构 做迁移的时候。之所以称之为反模式主要原因是,刚开始我们觉得创建微服务是一个不错的主意,服务和相应的数据 都独立成 微服务,但这可能会将你带向一个错误的道路上,导致高风险、过剩成本和额外的迁移工作。正文数据驱动的迁移反模式微服务会创建 大量小的、分布式的、单一用途 的服务,每个服务拥有自己的数据...
2018-07-13 22:51:07 424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人