摘要: 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完。本文比较长,对这个系列进行收尾,主要内容包括对授权和鉴权流程之外的endpoint以及Spring Security过滤器部分踩坑的经历。欢迎阅读本系列文章 阅读全文
posted @ 2017-10-31 17:49 明志健致远 阅读(6043) 评论(0) 推荐(1) 编辑
摘要: 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第三篇,本文重点讲解token以及API级别的鉴权。本文对涉及到的大部分代码进行了分析,欢迎订阅本系列文章。 1. 前文回顾 在开始讲解这一篇文章之前,先对之前两篇文章进行回忆下。在第一篇 认证鉴权与API权限控制在微服务架构 阅读全文
posted @ 2017-10-31 11:28 明志健致远 阅读(2986) 评论(0) 推荐(0) 编辑
摘要: 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第二篇,本文重点讲解用户身份的认证与token发放的具体实现。本文篇幅较长,对涉及到的大部分代码进行了分析,可收藏于闲暇时间阅读,欢迎订阅本系列文章。 1. 系统概览 在上一篇 认证鉴权与API权限控制在微服务架构中的设计与实 阅读全文
posted @ 2017-10-31 11:28 明志健致远 阅读(16741) 评论(0) 推荐(1) 编辑
摘要: 引言: 本文系《认证鉴权与API权限控制在微服务架构中的设计与实现》系列的第一篇,本系列预计四篇文章讲解微服务下的认证鉴权与API权限控制的实现。 1. 背景 最近在做权限相关服务的开发,在系统微服务化后,原有的单体应用是基于Session的安全权限方式,不能满足现有的微服务架构的认证与鉴权需求。微 阅读全文
posted @ 2017-10-31 11:27 明志健致远 阅读(29582) 评论(2) 推荐(4) 编辑
摘要: 根据微服务架构的鼻祖 Martin Fowler 的忠告,微服务架构中应当尽量避免分布式事务。然而,在某些领域,分布式事务如同宿命中的对手无法避免。 在工程领域,分布式事务的讨论主要聚焦于强一致性和最终一致性的解决方案。 典型方案包括: 两阶段提交(2PC, Two-phase Commit)方案。 阅读全文
posted @ 2017-10-30 14:44 明志健致远 阅读(1220) 评论(0) 推荐(0) 编辑
摘要: 概念澄清 事务补偿机制: 在事务链中的任何一个正向事务操作, 都必须存在一个完全符合回滚规则的可逆事务. CAP理论: CAP(Consistency, Availability, Partition Tolerance), 阐述了一个分布式系统的三个主要方面, 只能同时择其二进行实现. 常见的有C 阅读全文
posted @ 2017-10-26 16:26 明志健致远 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 写在前面 随着微服务架构的推广,越来越多的公司采用微服务架构来构建自己的业务平台。就像前边的文章说的,微服务架构为业务开发带来了诸多好处的同时,例如单一职责、独立开发部署、功能复用和系统容错等等,也带来一些问题。 例如上手难度变大,运维变得更复杂,模块之间的依赖关系更复杂,数据一致性难以保证,等等。 阅读全文
posted @ 2017-09-28 10:47 明志健致远 阅读(1431) 评论(0) 推荐(2) 编辑
摘要: 由来 项目中需要实现某个订单的状态改变后然后推送给第三方的功能,由于更改状态的项目和推送的项目不是同一个项目,所以为了不改变原项目的代码,我们考虑用spring的aop来实现。 项目用的是springmvc + spring + mybatis 的架构,我们知道spring实现了两种代理方式:JDK 阅读全文
posted @ 2017-08-29 14:44 明志健致远 阅读(7935) 评论(4) 推荐(0) 编辑
摘要: 周末快到了,今天为大家送上一篇很有意思的小文章,具有提神醒脑之功效。作者是来自阿里巴巴LAZADA产品技术部的申徒童鞋。 1. 血案由来 近期我在为Lazada卖家中心做一个自助注册的项目,其中的shop name校验规则较为复杂,要求:1. 英文字母大小写2. 数字3. 越南文4. 一些特殊字符, 阅读全文
posted @ 2017-08-25 10:39 明志健致远 阅读(12463) 评论(4) 推荐(14) 编辑
摘要: 1、索引定义 数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。 2、建立索引的优缺点: 优点: 阅读全文
posted @ 2017-08-18 19:31 明志健致远 阅读(818) 评论(0) 推荐(0) 编辑
摘要: 背景 Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的”La”,此人现在在微软研究院)于1990年提出的一种基于消息传递的一致性算法。由于算法难以理解起初并没有引起人们的重视,使Lamport在八年后重新发表到TOCS上[2]。即便如此paxos算法还是没有得到重 阅读全文
posted @ 2017-08-03 15:07 明志健致远 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: 前言在上一篇文章Paxos算法浅析中主要介绍了Paxos一致性算法应用的场景,以及对协议本身的介绍;Google Chubby是一个分布式锁服务,其底层一致性实现就是以Paxos算法为基础的;但这篇文件并不是介绍Chubby,而是介绍了一个和Chubby拥有类似功能的开放源码的分布式协调服务Zook 阅读全文
posted @ 2017-07-27 01:39 明志健致远 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 前言在文章2PC/3PC到底是啥中介绍了2PC这种一致性协议,从文中了解到2PC更多的被用在了状态一致性上(分布式事务),在数据一致性中很少被使用;而Paxos正是在数据一致性中被广泛使用,在过去十年里,Paxos基本成为了分布式领域内一致性协议的代名词。Google的粗粒度锁服务Chubby的设计 阅读全文
posted @ 2017-07-27 01:38 明志健致远 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 讨论 提到2PC/3PC首先想到的是它是一致性协议,而且经常把它和Paxos协议放在一起比较,并且经常看到这样的说法"世上只有一种一致性算法,那就是Paxos",2PC/3PC并不是严格意义上的一致性协议,很少被用在处理一致性上;但另一方面又经常看到2PC/3PC和分布式事务放在一起讨论,并且大部分 阅读全文
posted @ 2017-07-27 01:36 明志健致远 阅读(1611) 评论(1) 推荐(0) 编辑
摘要: 摘要: dubbo启动时默认有重试机制和超时机制。 超时机制的规则是如果在一定的时间内,provider没有返回,则认为本次调用失败, 重试机制在出现调用失败时,会再次调用。如果在配置的调用次数内都失败,则认为此次请求异常,抛出异常。 dubbo启动时默认有重试机制和超时机制。超时机制的规则是如果在 阅读全文
posted @ 2017-07-22 02:02 明志健致远 阅读(3484) 评论(0) 推荐(0) 编辑
摘要: 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两 阅读全文
posted @ 2017-07-20 02:28 明志健致远 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 【历史深处】概述史,用最简短文字概述中外历史! 永嘉元年(307年)八王之乱结束,东海王司马越成了西晋司马家王爷争胜的最后胜利者。可把控了西晋朝廷的司马越面对的已经是四分五裂的江山了,北边的并州南匈奴人刘渊称帝,西南角的蜀地氐人李雄建立了成汉政权。 图1、司马越 当时的人们已经觉得天下够乱了,现在司 阅读全文
posted @ 2017-07-18 10:17 明志健致远 阅读(4731) 评论(0) 推荐(2) 编辑
摘要: 梅林文苑 2017-07-14 01:29 王小波说过这样一段话: " 那一年,我二十一岁,在我一生的黄金时代,我有好多奢望。我想爱,想吃,还想在一瞬间变成天上半明半暗的云。后来我才知道,生活就是个缓慢受锤的过程。 文♩梅林|巽木 上周参加一个三下乡活动,回来之后,我经常会一个人呆在屋子里,不愿说话 阅读全文
posted @ 2017-07-16 21:40 明志健致远 阅读(918) 评论(0) 推荐(0) 编辑
摘要: 为什么要分代 为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。因为每次回收都需要遍历所有存活对象,但实际上,对于生命周期长的对象而 阅读全文
posted @ 2017-06-24 16:27 明志健致远 阅读(980) 评论(0) 推荐(0) 编辑
摘要: 前言 前一篇文章介绍了内存的垃圾收集算法,现在介绍下内存回收的具体实现--垃圾收集器。 由于Java虚拟机规范中对垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的垃圾收集器都会有很大的差别。 这里只做几个收集器的介绍,并非说明哪个最好。在实际场景中,针对不同的应用,会有 阅读全文
posted @ 2017-06-23 16:47 明志健致远 阅读(675) 评论(0) 推荐(0) 编辑