白玉京
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   
距离计算

距离计算

经纬度纬线与纬度所有纬线自成一个圆圈,被称为纬线圈,纬线圈的长度不等,最长的是赤道,由赤道向两极逐渐缩短,到两极缩成一个点。纬线指示东西方向,所有的纬线都平行,赤道把地球平分为南北两个半球。纬度从赤道算起,把赤道定为0度,由赤道到北极和南极各分作90度,赤道以北是北纬,代号是N;以南是南纬,代号是S,北纬90度是北极,南纬90度是南极。南纬和北纬的分界线是赤道。特殊的纬线:0度纬线:即赤道,是最长
2023-06-08
基础知识
#GeoHash #RedisGeo #Haversine公式 #经纬度
锁的机制

锁的机制

如内存与零拷贝技术一文所示。CPU读取数据进行计算的内存全景如下:我们可以看到,数据可能发生不一致的地方就是缓存不共用的地方,这是缓存不共用的地方主要有两处,一是CPU高速缓存不一致。二是Java线程中的工作内存。 单机单核单个 CPU 对于每个任务的执行,都只执行一小段时间,不断的在多个任务之间快速的切换。多进程和多线程是一种提高 CPU 使用率的方案,即并发。CPU 在任务执行过程中,本身是感
2023-06-07
基础知识
#Redis #synchronized #reentrantLock #zookeeper #mesi
内存与零拷贝技术

内存与零拷贝技术

内存模型CPU是怎么读取数据的 数据存在哪里内存我们的程序和数据都是存储在内存,存储的区域是线性的。在计算机数据存储中,存储数据的基本单位是字节(byte),1 字节等于 8 位(8 bit)。每一个字节都对应一个内存地址。内存的地址是从 0 开始编号的,然后自增排列,最后一个地址为内存总字节数 - 1,这种结构好似我们程序里的数组,所以内存的读写任何一个数据的速度都是一样的。 CPU怎么找到数据
2023-06-01
基础知识
#Netty #Kafka #Nginx #MMAP #SendFile
跳表与红黑树

跳表与红黑树

假设我们有某个班级所有学生的数学成绩,需要设计一个系统,可以满足以下几个操作1.统计、查询区间范围。(统计80到90分的学生个数、查询90分到100分的学生名单)2.查询单个学生成绩3.学生成绩会频繁的更新与添加4.满足高性能读取这些需求。我们知道,Redis 的 zset 结构无疑是比较好的选择。Redis 提供了丰富的 API。示例:以 math 为 key 分别存储了 studentA 到
2023-05-25
数据结构
#跳表 #红黑树 #Redis #SkipList #RedBlack
单点登录

单点登录

登录态大家都知道,HTTP是一个无状态的协议,我们站在服务器这一端,一个用户请求过来怎么判断他有没有登录呢?在验证用户名和密码之后,我们可以发给客户端一个凭证(isLogin = true),如果请求中有这个凭证,那么他就是登陆之后的用户。 cookie和session的区别在于,凭证的存储位置。换言之,如果凭证存储在客户端,那就是cookie。如果凭证存储在服务端,那就是session。 Coo
2023-05-24
应用
#Cookie #Session #Token #单点登录 #springboot
网络系统与IO模型

网络系统与IO模型

这篇网络系统与IO模型的介绍,主要是基于Linux系统。讲解高并发情况下系统如何处理请求。还是照旧,我们从一个网络请求开始。 连接的建立socket1234567891011121314public class Server { public static void main(String[] args) throws IOException { Socke
2023-05-10
基础知识
#同步 #异步 #阻塞 #非阻塞 #网络
多级分流

多级分流

随着智能设备的出现,我们正式进入了大数据时代。是个App,都不断的在收集个人的行为与数据。同时,智能设备的出现,使人们的行为发生了很大的变化,大量的线下服务走到线上,比如外卖、叫车、购物等。这么多的数据传输,使我们经常听到一个网站或者服务的QPS有多少多少。比如阿里云公布的2020年双11订单创建峰值是58.3万笔/秒。显然,一台服务器是承受不了同时这么多的访问的。我们就能想到使用多台服务器来同时
2023-01-29
架构
#DNS #负载均衡 #CDN #数据库
DDD与EDA-核心逻辑提炼方法论

DDD与EDA-核心逻辑提炼方法论

在【DDD与应用架构】一文中我们说过,应用架构的存在就是为了把一团混沌的代码变得有秩序,好管理。我们保持最核心逻辑不变,就可以保持系统的稳定与发展。领域驱动设计的作者Eric Evans 说:“为了使领域模型成为有价值的资产,必须整齐地梳理出模型的真正核心,并完全根据这个核心来创建应用程序的功能”。那么问题来了,我们要怎么梳理出模型的真正核心呢?Eric是这么说的: “对模型进行提炼。找到COR
2022-11-28
架构
#EDA #Event Sourcing #DDD #事件驱动
CQRS与Event Sourcing

CQRS与Event Sourcing

Event Souring采购单不简单小吴是一个公司的资深SRM开发,精通三层架构,代码写的贼六。有天,小吴收到业务小张的一个需求,实现一个发货逻辑。小吴一想,简单,不就是接收到一个请求,然后处理请求,将处理后的业务数据持久化一下么。于是坑哧坑哧… 123456789101112public class PurchaseOrderService { PurchaseOrderMap
2022-11-17
架构
#Event Sourcing #DDD #事件驱动 #CQRS
DDD与应用架构

DDD与应用架构

架构架构这一词,英文单词为Architecture。Architecture在计算机体系中解释为架构,在建筑领域中理解为结构。因此,理解计算机的架构,我们可以从建筑学中的结构出发。上图是一张房子的结构图。从图中我们可以看到,房子的结构主要是说明这个房子有什么东西,这些东西应该在什么位置,怎么样整合起来整体更好看,更耐用。同样,我认为架构跟结构是一个道理的。网上大家对架构是这么定义的:架构是“以组件
2022-11-17
架构
#DDD #六边形架构

搜索

Hexo Fluid
总访问量 次 总访客数 人