whale系统实战,聊聊用户认证

写在前面

上次老猫和大家说过想要开发一个系统,从简单的权限开始做起,有的网友表示还是挺支持的,但是有的网友嗤之以鼻,认为太简单了,不过也没事,简单归简单,主要的还是个人技术的一个整合和实战。

没错,系统的名称老猫也已经定义好了叫做whale,whale是鲸鱼的意思。其实没有别的意思,也是老猫拍脑袋想出来的,可能是受到docker图标的影响。另外的真要说有点啥么,那就是老猫希望这个系统是成长的,是演变的,能从简单的小鱼系统成长为遨游海洋的鲸鱼,当然猫也喜欢吃鱼,扯远了……本篇起,老猫正式开始养鱼。

以'权限系统'开篇不晓得会不会遭到鄙视

前言

距离上一篇博客《关于技术人员自身能力提高的一些思考》已经相隔将近一个月,现在才去更新博文,一方面工作上面确实有点忙,另外一方面自己也可能真的最近有所松懈。老猫也就不去找说辞了。

关于技术人员自身能力提高的一些思考

老猫最近在学习这事儿上渐渐有点迷茫起来,并不是说不知道该去学一些什么,而是知道太多想要学习的东西,从而让人手忙脚乱,不知道该如何入手去学习。

张小帅设计模式实战篇-开篇

背景

这天张小帅对着屏幕上的代码发着呆,心里琢磨着工作了四年依旧是个CRUD男孩。小帅心想着以前学生时代的时候写文章都有套路,为了使得文章表现形式更加丰富,会套用一些成语,一些排比句,比喻句等等,这样写出来的文章才会更加生动。如今工作之后写代码其实和写文章不是差不多么,现在写出来的功能虽然说是实现了,但是索然无味,更加谈不上代码艺术。为了不愿看到以前的自己。小帅于是暗暗发誓,想要改变一下这样的现状。他决定好好再去研究一下设计模式,然后套用到自己日常的代码中,也就有了下面的一些列的张小帅的设计模式学习笔记。

聊聊限流

前言

相信很多在中小型企业或者TO B企业的小伙伴们都未曾接触过限流。举个例子,小伙伴们就会发现,原来软件限流就在身边。相信很多小伙伴们都有12306买票回家的体验吧。如下图大家应该非常熟悉。

程序员的负罪感

这次不聊技术了,老猫最近状态上感觉出了问题。不晓得会不会有铁子和老猫一样。

累了一天,下班后回到家,孩子跟媳妇睡了,一个人傻呆呆坐在沙发上打开电视,按着遥控,翻看各种电影电视剧推荐,却始终无法静下心去看完一部电影或者电视剧。

洗完澡,走到书房,打开电脑,想到明天就是双休日,那就打会游戏吧,没成想玩了不到五分钟,觉得没劲,又默默退出。眼角瞥到鼠标旁的《XXX核心原理》,开始翻看,也不晓得看进去了多少。此时反而会感到踏实。

也不知道从什么时候起,我的生活感觉陷入了矛盾的怪圈。想要放松,想花时间去娱乐,却又满心负罪感。

锁的演化-分布式锁实战(zookeeper)

前言

这应该是分布式锁演化的最后一个章节了,相信很多小伙伴们看完这个章节之后在应对高并发的情况下,如何保证线程安全心里肯定也会有谱了。在实际的项目中也可以参考一下老猫的github上的例子,当然代码没有经过特意的封装,需要小伙伴们自己再好好封装一下。那么接下来,就和大家分享一下基于zookeeper的分布式锁,由于此篇主要分享的是zk的分布式锁,所以对于zk本身的相关知识点,并不会涉及很多。和分布式锁实现有关的zk知识点会提及。

Zookeeper实现分布式锁

何为ZK?(为了打字简单,后续老猫均以ZK来代替zookeeper),相信很多接触到Dubbo框架的小伙伴可能听说过ZK,但是具体也没有详细地去学习ZK。那么又如何利用ZK来实现分布式锁呢?以下我们一个个来看。

锁的演化-分布式锁实战(MYSQL篇)

前言

之前的文章中通过电商场景中秒杀的例子和大家分享了单体架构中锁的使用方式,但是现在很多应用系统都是相当庞大的,很多应用系统都是微服务的架构体系,那么在这种跨jvm的场景下,我们又该如何去解决并发。

单体应用锁的局限性

在进入实战之前简单和大家粗略聊一下互联网系统中的架构演进。

锁的演化-分布式锁实战(REDIS篇)

前言

上一篇老猫和小伙伴们分享了为什么要使用分布式锁以及分布式锁的实现思路原理,目前我们主要采用第三方的组件作为分布式锁的工具。上一篇运用了Mysql中的select …for update实现了分布式锁,但是我们说这种实现方式并不常用,因为当大并发量的时候,会给数据库带来比较大的压力。当然也有小伙伴给老猫留言说“ 在quartz的集群模式中,就是使用了基于mysql的分布式锁,select for update ”。没错,其实quartz的集群模式中,任务执行的节点个数是可预知的,而且没有那么大的量级,所以是没有问题的。但是如果像千万级别的并发秒杀场景的情况下,那么这种方案其实是不可行的。因为mysql操作是需要IO的,IO的速度比内存速度慢,因此mysql如果在那种场景下使用的话是会存在系统瓶颈的。所以本篇就和小伙伴们分享基于内存操作的比较常用的分布式锁——redis分布式锁。

锁的演化-分布式锁实战[MYSQL篇]

前言

之前的文章中通过电商场景中秒杀的例子和大家分享了单体架构中锁的使用方式,但是现在很多应用系统都是相当庞大的,很多应用系统都是微服务的架构体系,那么在这种跨jvm的场景下,我们又该如何去解决并发。

单体应用锁的局限性

在进入实战之前简单和大家粗略聊一下互联网系统中的架构演进。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×