随笔分类 -  Java Web

Java Web 相关
摘要:一、Redis 集群概述 Redis 主从复制 到 "目前" 为止,我们所学习的 Redis 都是 单机版 的,这也就意味着一旦我们所依赖的 Redis 服务宕机了,我们的主流程也会受到一定的影响,这当然是我们不能够接受的。 所以一开始我们的想法是:搞一台备用机。这样我们就可以在一台服务器出现问题的 阅读全文
posted @ 2020-03-17 17:02 我没有三颗心脏 阅读(1583) 评论(2) 推荐(6) 编辑
摘要:一、Redis 中的发布/订阅功能 发布/ 订阅系统 是 Web 系统中比较常用的一个功能。简单点说就是 发布者发布消息,订阅者接受消息 ,这有点类似于我们的报纸/ 杂志社之类的: (借用前边的一张图) 图片引用自:「消息队列」看过来! "https://www.wmyskxz.com/2019/0 阅读全文
posted @ 2020-03-15 19:37 我没有三颗心脏 阅读(5872) 评论(1) 推荐(6) 编辑
摘要:一、持久化简介 Redis 的数据 全部存储 在 内存 中,如果 突然宕机 ,数据就会全部丢失,因此必须有一套机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的 持久化机制 ,它会将内存中的数据库状态 保存到磁盘 中。 持久化发生了什么 | 从内存到磁盘 我们来稍微考虑一 阅读全文
posted @ 2020-03-13 16:55 我没有三颗心脏 阅读(917) 评论(0) 推荐(0) 编辑
摘要:像微信 "附近的人" ,美团 "附近的餐厅" ,支付宝共享单车 "附近的车" 是怎么设计实现的呢? 一、使用数据库实现查找附近的人 我们都知道,地球上的任何一个位置都可以使用二维的 经纬度 来表示,经度范围 [ 180, 180] ,纬度范围 [ 90, 90] ,纬度正负以赤道为界,北正南负,经度 阅读全文
posted @ 2020-03-12 08:01 我没有三颗心脏 阅读(1215) 评论(0) 推荐(2) 编辑
摘要:一、布隆过滤器简介 "上一次" 我们学会了使用 HyperLogLog 来对大数据进行一个估算,它非常有价值,可以解决很多精确度不高的统计需求。但是如果我们想知道某一个值是不是已经在 HyperLogLog 结构里面了,它就无能为力了,它只提供了 和 方法,没有提供类似于 的这种方法。 就举一个场景 阅读全文
posted @ 2020-03-11 13:10 我没有三颗心脏 阅读(6075) 评论(0) 推荐(1) 编辑
摘要:一、HyperLogLog 简介 HyperLogLog 是最早由 "Flajolet" 及其同事在 2007 年提出的一种 估算基数的近似最优算法 。但跟原版论文不同的是,好像很多书包括 Redis 作者都把它称为一种 新的数据结构(new datastruct) (算法实现确实需要一种特定的数据 阅读全文
posted @ 2020-03-02 16:36 我没有三颗心脏 阅读(3302) 评论(1) 推荐(2) 编辑
摘要:一、分布式锁简介 锁 是一种用来解决多个执行线程 访问共享资源 错误或数据不一致问题的工具。 如果 把一台服务器比作一个房子 ,那么 线程就好比里面的住户 ,当他们想要共同访问一个共享资源,例如厕所的时候,如果厕所门上没有锁...更甚者厕所没装门...这是会出原则性的问题的.. 装上了锁,大家用起来 阅读全文
posted @ 2020-03-01 14:05 我没有三颗心脏 阅读(991) 评论(0) 推荐(0) 编辑
摘要:一、跳跃表简介 跳跃表(skiplist)是一种随机化的数据结构,由 William Pugh 在论文 "《Skip lists: a probabilistic alternative to balanced trees》" 中提出,是一种可以于平衡树媲美的层次化链表结构——查找、删除、添加等操作 阅读全文
posted @ 2020-02-29 15:23 我没有三颗心脏 阅读(1176) 评论(6) 推荐(0) 编辑
摘要:一、Redis 简介 "Redis is an open source (BSD licensed), in memory data structure store, used as a database, cache and message broker." —— Redis是一个开放源代码(BS 阅读全文
posted @ 2020-02-28 21:56 我没有三颗心脏 阅读(1473) 评论(0) 推荐(1) 编辑
摘要:为获得更好的阅读体验,请访问原文: "传送门" 前言: 最近公司来了个大佬,从他那里学到不少东西,其中一个就是计时 的新姿势 「StopWatch」 ,赶紧来一起了解了解吧! 一、最简单的计时 在我们的程序中不免需要对某一个运算或者方法进行计时,以便我们来观察该运算或方法是否符合我们的预期,所以在我 阅读全文
posted @ 2019-07-30 23:30 我没有三颗心脏 阅读(3877) 评论(0) 推荐(0) 编辑
摘要:为获得更好的阅读体验,建议您访问原文地址: "传送门" ) 前言:在之前的文章里面已经了解到了「消息队列」是怎么样的一种存在( "传送门" ),Kafka 作为当下流行的一种中间件,我们现在开始学习它! 一、Kafka 简介 Kafka 创建背景 Kafka 是一个消息系统,原本开发自 Linked 阅读全文
posted @ 2019-07-17 21:13 我没有三颗心脏 阅读(3420) 评论(3) 推荐(5) 编辑
摘要:为了获得更良好的阅读体验,建议您前往个人独立域名博客观看: "传送门" ) 一、什么是消息队列? 当我试图用一则通俗的比喻来说明这个概念的时候,我想到一个有意思的比喻: 如果把队列抽象成一个集合体,那么消息队列也就是一堆消息的集合。 按照这个思路我想到了「杂志」。这不就是一堆消息的集合吗,关心这些消 阅读全文
posted @ 2019-07-16 10:14 我没有三颗心脏 阅读(1785) 评论(2) 推荐(2) 编辑
摘要:前言: 之前我们已经了解了 "「什么是微服务?」" ,现在我们开始了解「微服务」关键字下比较热门的「Spring Cloud」... 一、传统架构发展史 部分引用自: "从架构演进的角度聊聊Spring Cloud都做了些什么? 纯洁的微笑" 单体架构 单体架构在小微企业比较常见,典型代表就是一个应 阅读全文
posted @ 2019-06-09 10:04 我没有三颗心脏 阅读(2498) 评论(2) 推荐(3) 编辑
摘要:前言: 捧读像这一类的书对于自己来说总带着一些神圣感,感谢自己并没有被这么宏大的主题吓退,看完了这里分享输出一下自己的笔记。 一、理解重构 什么是重构? 按书中 P45 中的说法,重构这个概念被分成了动词和名词的方面被分别阐述: 重构(名词): 对软件内部结构的一种调整,目的是在不改变软件可观察行为 阅读全文
posted @ 2019-06-08 10:08 我没有三颗心脏 阅读(6720) 评论(3) 推荐(4) 编辑
摘要:前言: 起初没有意识到自己选了这么一个对自己来说有一些“宏大”的问题,因为里面涉及到好多知识..所以砍了一些内容.. 一、信息技术发展趋势 信息技术发展的三个阶段 信息技术从出现到逐渐成为主流,主要经历了 软件、开源、云 三个阶段的发展。从软件到开源,再到云,这也是信息技术的发展趋势。 1. 软件改 阅读全文
posted @ 2019-06-07 17:20 我没有三颗心脏 阅读(3374) 评论(3) 推荐(5) 编辑
摘要:一、环境配置的难题 软件开发最大的难题之一就是环境配置的问题。现在用户环境纷乱复杂,并且由于开源社区的进一步推广和许多开源项目不停地迭代更新,项目可能会有越来越多的依赖以及越来越难管理的依赖版本,如何保证编写的程序能不只是在“我的电脑上能运行”(It works on my machine)成了一个 阅读全文
posted @ 2019-05-29 12:47 我没有三颗心脏 阅读(2930) 评论(3) 推荐(7) 编辑
摘要:1.MongDB 简介 MongoDB (来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB 的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据 阅读全文
posted @ 2019-04-25 10:24 我没有三颗心脏 阅读(3010) 评论(8) 推荐(2) 编辑
摘要:前言: 毕设项目还要求加了这个做大数据搜索,正好自己也比较感兴趣,就一起来学习学习吧! Elasticsearch 简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,它集中存储您的数据,帮 阅读全文
posted @ 2019-01-08 20:30 我没有三颗心脏 阅读(3974) 评论(7) 推荐(2) 编辑
摘要:前言: 由于导师在我的毕设项目里加了消息系统(本来想水水就过的..),没办法...来稍微研究研究吧..简单简单... 需求分析 我的毕设是一个博客系统 ,类似于简书这样的,所以消息系统也类似,在用户的消息里包含了有:喜欢和赞、评论、关注、私信这样的一类东西,这样的一个系统应该包含以下的功能: 1. 阅读全文
posted @ 2019-01-07 19:58 我没有三颗心脏 阅读(12010) 评论(4) 推荐(6) 编辑
摘要:Shiro 简介 照例又去官网扒了扒介绍: Apache Shiro™ is a powerful and easy to use Java security framework that performs authentication, authorization, cryptography, a 阅读全文
posted @ 2019-01-06 15:57 我没有三颗心脏 阅读(17254) 评论(8) 推荐(11) 编辑