架构
frankliu01
这个作者很懒,什么都没留下…
展开
-
分布式锁与实现(一)——基于Redis实现
转自http://www.cnblogs.com/liuyang0/p/6744076.html概述目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tole转载 2017-10-14 21:13:39 · 357 阅读 · 0 评论 -
Java秒杀抢购-SpringBoot-jseckill(github源码)
Java SpringBoot实现秒杀-jseckill(github源码)jseckill电商秒杀程序, 乐观锁,Spring Boot.演示地址原创 2019-01-15 13:04:57 · 6849 阅读 · 0 评论 -
SpringMVC获取ApplicationContext - ApplicationContextAware实现AppContextHolder(含github源码)
项目地址sword-springboot父项目是sword应用场景: 一般情况下,使用SpringMVC/SpringBoot的时候,各种bean注册到Spring容器里了,然后在需要这个bean的地方,使用@Autowired或者@Resource标注的bean都可以被自动注入。 但是在某些场景下,需要手动注入。比如在一个Util里面,这个Util里面的方法都是static的,这个时...原创 2019-01-06 17:00:24 · 1183 阅读 · 0 评论 -
社交App系统架构--自己亲手写的App系统(含github源码)
社交App系统架构目前社交类应用有App,小程序,网站,微信公众号等,其中最普遍有效的客户端还是App。 本人利用空余时间开发了一款Android版App–星座空间(英文名star-zone) 项目地址星座空间App大家可以下载后用下看看。技术选型下面列举技术栈,并说明选择的原因: 软件分为以下几块:(全部都是我一个人开发的,很辛苦的^_^,全栈工程师+架构师) 1.And...原创 2018-07-02 17:19:58 · 15812 阅读 · 11 评论 -
分布式领域架构师要掌握的技术
转载自https://yq.aliyun.com/articles/62683摘要: 分布式系统无疑是持久的热门话题,但其实如果不是一定有必要,强烈建议不要进入分布式领域,在集中式的情况下很多问题都会简单不少,技术人员千万不要因为外界火热的例如微服务,就把自己的产品的也去做改造,一定要仔细判断是否有必要,不要为了技术而技术,那么在必须分布式的情况下(访问量、存储量或开发人数),一个分布转载 2018-01-17 11:56:28 · 631 阅读 · 0 评论 -
Java架构师需要掌握那些技术(含github源码)
个人Github https://github.com/liushaoming从Java高级工程师到架构师,你需要学习下面这些能力下面以我的github为线索https://github.com/liushaoming来讲讲架构师进阶需要学习的能力。贡献了这么多干货,所有的技术要点都用纯java实现。 记得点star!1. 电商秒杀抢购程序设计--http高并发--大数据库--数...原创 2018-01-17 10:11:34 · 1453 阅读 · 0 评论 -
一致性hash-2
使用场景现在我们假设有100台redis data服务器,一份数据101进来的时候,以散列公式hash(i)&100,计算所存放的服务器,假设hash(i) = i,那么数据被散列到标号为1的服务器,然后这个时候服务器新增了一台,然后散列公式为hash(i)%101,这个时候请求访问数据101的时候,被分配至0号服务器,但是其实这个时候数据是在1号服务器的。所以这个时候大量的数据失转载 2018-01-14 22:10:24 · 191 阅读 · 0 评论 -
一致性hash
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到转载 2018-01-14 22:08:11 · 161 阅读 · 0 评论 -
java antlr的开发
Antlr 是一个基于 Java 开发的功能强大的语言识别工具,Antlr 以其简介的语法和高速的运行效率在这类工具中出类拔萃。当你需要开发一种领域语言时,语言可能像 Excel 中的公式一样复杂,也可能像本文中的例子一样简单(只有算术运算),这时你可以考虑使用 Antlr 来处理你的语言。Antlr 简介ANTLR 语言识别的一个工具 (ANother Tool for La转载 2018-01-03 14:03:45 · 3364 阅读 · 0 评论 -
观察者模式(Observer Pattern)的UML表示
观察者模式又称为发布订阅模式。一个发布者对应多个订阅者,一旦发布者的状态发生改变时,订阅者将收到订阅事件。本文中涉及的代码请点击这里。先看看一个生活中的例子:当我们想订一份报纸,我们先去邮局找到报纸的编号后填写订阅单并缴费。当报社有新报纸发出时,邮局会将我们订阅的报纸发给我们。为了简单我们去掉邮局环节简化成:报社有新报纸后马上通知用户,这就是观察者。定义对象间的一对多关系,当一个对象的状态转载 2017-11-22 21:44:31 · 3889 阅读 · 0 评论 -
Java登录认证-基于userId+token-框架fpassport(含github源码)
前段时间,自己开发了一个网络API调用的框架"fpassport",可以用于大多数的网络接口调用(HTTP调用)里的权限认证--用户登录。 验证条件是userId+token合法,才能调用响应的接口成功。否则,则返回错误代码(比如token错误,userId不存在等) 。不管调用成功与否,返回给客户端的都是json数据。 fpassport框架在大多数App的用户登录...原创 2017-10-17 21:45:00 · 3836 阅读 · 0 评论 -
ZooKeeper实现分布式队列
让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务。现在硬件越来越便宜,一台非品牌服务器,2颗24核CPU,配48G内存,2T的硬盘,已经降到2万块人民币以下了。这种配置如果简单地放几个web应用,显然是奢侈的浪费。就算是用来实现单节点的hadoop,对计算资源浪费也是非常高的。对于这么高性能的计算机转载 2017-10-15 16:37:53 · 329 阅读 · 0 评论 -
分布式锁与实现(二)——基于ZooKeeper实现
引言ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKe转载 2017-10-15 16:40:09 · 229 阅读 · 0 评论 -
java实现分布式锁(带github源码)
1.前言大多数互联网系统是分布式部署的,分布式部署解决了高并发高可用的问题,但是由此带来了数据一致性问题。当某个资源在多系统之间,被共享操作的时候,为了保证这个资源数据是一致的,那么就必须要求在同一时刻只能被一个客户端操作,不能并发的执行,否者就会出现同一时刻有客户端写,别的客户端在读,两者访问到的数据就不一致了。2.我们为什么需要分布式锁在单机时代,虽然不需要分布式锁,但也面临过类似的问...原创 2019-02-15 15:19:34 · 2645 阅读 · 0 评论