随笔分类 -  架构

摘要:1. 什么是布隆过滤器? 布隆过滤器(BloomFilter)是由一个叫“布隆”的小伙子在1970年提出的,它是一个很长的二进制向量,主要用于判断一个元素是否在一个集合中。 在介绍原理之前,要先讲一下Hash函数的概念。 我们在Java中的HashMap,HashSet其实也接触过hashcode( 阅读全文
posted @ 2021-04-16 22:03 Master HaKu 阅读(2608) 评论(0) 推荐(0) 编辑
摘要:1. 缓存穿透 缓存穿透是指查询的key在缓存中是不存在的,那么就会直接打在数据库上,造成数据库压力增大。 eg: 如果请求带着id过来了,像查询id=-1的数据, 于是缓存里自然没有该数据,因为数据库本来也就没有该数据。 那这个就有趣了,如果不断大量恶意请求,那就是直接绕过缓存, 一直在查数据库, 阅读全文
posted @ 2021-04-16 21:47 Master HaKu 阅读(313) 评论(0) 推荐(0) 编辑
摘要:经常有人会问: “应该选择RabbitMQ还是Kafka?”。 基于某些原因, 许多开发者会把这两种技术当做等价的来看待。 的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别,但是这两种技术在底层实现方面是有许多差异的。 不同的场景需要不同的解决方案,选错一个方案能够严重的影响你对软 阅读全文
posted @ 2021-03-31 21:29 Master HaKu 阅读(3831) 评论(0) 推荐(0) 编辑
摘要:1. 消息队列的作用 消息中间件是日常架构中比较流行的一个中间件。 常用的产品有: ActiveMQ, RabbitMQ, RocketMQ, ZeroMQ等。 那么消息中间件在架构中有哪些作用呢? 总结一下,主要作用如下: 异步处理、应用解耦、流量削峰、日志处理 2. 架构作用详解 a. 异步处理 阅读全文
posted @ 2021-03-04 11:42 Master HaKu 阅读(320) 评论(0) 推荐(0) 编辑
摘要:Apache CXF是一个开源的WebService RPC框架。 例子: 1. 新建一个maven web项目, 添加pom 如下: 2. 定义远程服务接口,并用@WebService标明是一个远程的WebService 3. 远程服务的实现(通过endpointInterface指明对应的接口) 阅读全文
posted @ 2018-03-14 15:58 Master HaKu 阅读(1022) 评论(0) 推荐(0) 编辑
摘要:1. 什么是RPC RPC(Remote Procedure Call)即远程过程调用,指的是不同机器间系统方法的调用,这和 同机器动态链接库(DLL)有点类似,只不过RPC是不同机器,通过网络通信来访问远程的资源。 2. Java RMI技术 RMI(Remote Method Invocatio 阅读全文
posted @ 2018-03-14 10:53 Master HaKu 阅读(827) 评论(0) 推荐(0) 编辑
摘要:最近,微服务这个概念越来越流行,很多企业开始选择微服务作为自己新的架构。 那么,什么是微服务呢? 我们先来看一下架构大神martin fowler对微服务的解释。 The term "Microservice Architecture" has sprung up over the last few 阅读全文
posted @ 2017-08-23 22:45 Master HaKu 阅读(866) 评论(0) 推荐(0) 编辑
摘要:1. 第一阶段:单服务器架构 这一阶段是我们的起步阶段,比如我们创业的时候刚购买了一台云主机。 在这一阶段,为了节约成本,我们将所有的应用程序,数据库,文件全部放在这台服务器上。 然后,CPU或者内存的成本在开发阶段也使用最小能接受的成本,然后开始我们的服务器开发之路。 2. 第二阶段:应用服务和数 阅读全文
posted @ 2016-11-12 17:47 Master HaKu 阅读(367) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示