随笔分类 - 分布式架构
摘要:一、分布式全局ID 数据库表,每张表都会有一个唯一标识,通常都使用id。id通常都使用自增的方式,在分库分表的情况下,就会产生不同分片上的id重复的问题,导致id在全局不唯一,业务上就可能会出现问题。为了使分布式系统下,id能够全局唯一,下面介绍几种实现方案。 1、使用UUID作为全局主键 UUID
阅读全文
摘要:一、数据切分 单机数据库存在着性能的瓶颈,当数据量非常大时,我们可以通过数据切分来解决这个性能问题,将原本一台数据库中的数据,分散到多台数据库当中去,降低每一个单体数据库的负载。而且一些第三方的软件就已经为我们实现了这样的功能,比如说MyCat和Sharding-Jdbc。 Sharding-Jdb
阅读全文
摘要:Java中的几种锁解决方案 乐观锁与悲观锁 乐观锁 乐观锁呢,它是假设一个线程在取数据的时候不会被其他线程更改数据,但是在更新数据的时候会校验数据有没有被修改过。它是一种比较交换的机制,简称CAS(Compare And Swap)机制。一旦检测到有冲突产生,比如说数据版本号或者最后更新时间不一致,
阅读全文
摘要:FastDFS 什么是 FastDFS FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS为互联网量身定制,充分
阅读全文
摘要:实现 HandlerInterceptor 接口,编写拦截器 package com.jinsh.controller.Interceptor; import com.jinsh.utils.JSONResult; import com.jinsh.utils.JsonUtils; import c
阅读全文
摘要:CAP 概念 C(Consistency):一致性 在分布式系统中,所有的计算机节点的数据在同一时刻都是相同的,数据都是一致的。不能因为分布式导致不同系统拿到的数据不一致。也就是说,用户在某一个节点写了数据,在其他节点获得该数据的值是最新的;如若是更新操作,那么所有用户看到的也是更新后的新的值,不论
阅读全文
摘要:分布式会话 什么是会话? 会话Session代表的是客户端与服务器的一次交互过程,这个过程可以是连续也可以是时断时续的。曾经的Servlet时代(jsp),一旦用户与服务端交互,服务器tomcat就会为用户创建一个session,同时前端会有一个jsessionid,每次交互都会携带。如此一来,服务
阅读全文