
理论、原理
文章平均质量分 56
架构师小侯
JAVA架构师
一个热爱编程的程序员
技术路线,微服务->大数据->大模型
展开
-
hjr- 几种不同的数据一致性算法
Eureka是一种基于REST的分布式服务治理组件,它使用的是基于心跳检测的方式来检测服务是否可用,同时使用CAP定理中的AP模型来保证可用性和分区容错性。Kafka使用ZooKeeper来管理节点信息和选举Leader,通过Leader副本来进行数据的写入和读取,同时保证每个Partition的数据副本都存储在不同的节点上,以提高可用性和容错性。Redis是一种内存数据存储的缓存服务,使用的是基于主从同步的方式,通过主节点向从节点发送更新信息,从而保证节点之间的数据一致性。原创 2023-04-13 16:42:39 · 211 阅读 · 0 评论 -
hjr-高并发系统如何保障高可用
监控和告警:建立全方位的监控和告警系统,能够及时有效地发现并解决系统问题,快速响应故障,从而保障系统的高可用。这里简单介绍一下基本所有选举都是少数服从多数的算法,目的是为了在主节点出现故障时,重新选择出主节点。负载均衡:通过负载均衡技术,将请求分发到不同的服务器上处理,以达到负载均衡和高可用的目的。防止单点故障:通过冗余备份、集群等技术,防止单点故障的发生,以确保系统的高可用性。强一致性:所有节点的数据在任何时候都是相同的。分布式指的是不同的节点负责不同的功能。集群指的是相同的功能复制到不同的节点。原创 2023-04-10 17:09:28 · 336 阅读 · 0 评论 -
hjr-索引的本质
一本书籍可能包含书名,尺寸,作者等等字段属性,一本书类比一张数据表的一条记录。当我们去一个图书馆,可以根据数据目录里的,找到对应的书籍一般书籍目录是按照书籍名字,首字母A-Z排序的这里就是书籍这个数据的索引字段,按照首字母A-Z排序,就是这个使用的。所以索引本质是什么在某个数据表中,选取一个特征字段,然后按照特定的数据结构描述这个字段,然后先检索这个索引字段,然后根据索引找到对应的数据记录,这是数据库检索表的记录的重要手段。原创 2023-03-24 18:26:17 · 311 阅读 · 0 评论 -
hjr-深入说一下事务
事务本质是指一组操作,或者全都成功,或者全都失败一般我们尽可能让全部成功,所以需要重试,但是如果一直失败我们也需要进行相应处理,因此使用超时检测,当超时后触发回滚所以事务的三要素是:检测执行,重试 和 回滚。原创 2023-03-24 17:16:26 · 507 阅读 · 0 评论 -
hjr-详细说一下Redis集群
一般我们用Redis做缓存,热点数据击穿:访问到了过期的Key穿透:访问一个不存在的key雪崩:大量击穿。原创 2023-03-21 18:44:19 · 509 阅读 · 0 评论 -
hjr-如何做技术选型
当我们对一个软件系统做架构设计的时候,避不开的问题就是做技术选型,那我们需要考量哪些因素呢一般来说我们的一个软件系统主要会包含1、开发语言,这个直接决定了后续很多框架的基调,应该结合团队技术栈首先确定2、中间件,一般做 数据存储 流转 缓存等工作3、各种框架三个主要的组成部分。原创 2023-03-17 15:44:19 · 384 阅读 · 0 评论 -
hjr-SAAS相关架构和关系和时序数据库
商业应用云开发隐藏了代码层面,简化了开发过程,该模式目前只能做一些简单的逻辑,无法做如特别复杂的sql报表,需要事务控制、安全场景要求高的或高并发处理,如高并发场景自己在数据库建立乐观锁等,不能控制数据层面的加锁、数据同步、缓存、数据库和代码事务等。仍有待深入研究。华为云提供了IaaS底层,,通过springboot开发的商业应用开发云提供了Apaas平台,同时使用基于springclould的...原创 2021-09-10 18:13:52 · 176 阅读 · 0 评论 -
hjr-数据结构
数据结构具体点说是一个类,例化就可以使用里面的一些方法和属性抽象的说就是一种对数据类型的存放、组织的概念,和编程语言无关所以数据结构与我们常说的int,float等数据类型的区别就是数据类型是指的一段不同大小的内存,是具体的数据结构是对数据类型的存放、组织的一种概念,是抽象的。这里有数据类型的解释()所以,如果你用的编程需要自带数据结构的类,你就可以直接例化使用,不带的话就根据相应...原创 2016-06-05 09:08:08 · 328 阅读 · 0 评论 -
hjr-CPU,MCU,MPU,DSP,MCU,ARM.SOC,SOPC,FPGA
首先芯片分为芯片级与系统级芯片级就是,只是一个芯片,比如51单片机,可以写程序,下载后按照程序运行,前后台程序系统级就是,可以跑操作系统,比如ARM,SOC之类的,有RAM与ROMCPU:有电脑的都应该了解,中央处理器,计算机运算核心与控制核心,以下所有芯片都包含CPU,芯片级MPU:微处理器,包含CPU于GPU等,芯片级MCU:我门常说的单片机,51之类的,叫做微...原创 2016-05-17 16:50:55 · 1030 阅读 · 0 评论 -
hjr-寄存器,RAM,ROM,FLASH,硬盘
一、寄存器微处理器微控制器,和各种外设芯片都有寄存器,比如单片机微控制器,dsp微处理器,x86,arm,mips结构的cpu和超声波模块,摄像头图像处理芯片,时钟芯片,温度传感器之类的模块等等都有寄存器,所以寄存器就是各种芯片内部的一个速度最快的内存,不同的地址有不同的作用,你用c语言或者汇编往相应的地址里写相应的指令该芯片就会控制晶振往内存里读或者写相应的数据二、内存先...原创 2016-04-22 16:43:46 · 1027 阅读 · 0 评论 -
hjr-分布式和微服务session管理
对资源A每秒2w次请求,分成两个服务器,服务器1w处理资源A的请求1w次,服务器2处理资源A的请求1w次(集群:水平拓展)对资源A1w次请求,对资源B1w次请求,分成两个服务器,服务器1只处理资源A的请求1w次,服务器2只处理资源B的请求1w次(分布式:垂直拆分)浏览器A请求服务器A登录成功了,保存在Session中 在请求其他功能时,无论是水平拓展还是垂直拆分都有可能请求到其他服务器...原创 2018-03-14 09:42:55 · 305 阅读 · 0 评论 -
hjr-集群、分布式、负载均衡、微服务
多个服务器ip都跑同一个代码叫集群多个服务器ip分别跑一个系统的不同业务叫分布式,多个分布式可以组成集群负载均衡是访问方法时根据网络、服务器资源等自动选择端口和电脑的实现以前是一个网站里面有多种服务,对应一个端口,微服务是把系统业务拆分拆分到多个端口,每个端口相互独立,对外提供接口,这些端口的服务有一个管理界面可以管理,可以配置路由、拦截、断路器等,可以把某个服务复制到多个端口做集群,微服...原创 2017-11-29 15:01:08 · 349 阅读 · 0 评论 -
hjr-关于树
二叉排序树(二叉查找树):原创 2019-08-02 10:00:33 · 314 阅读 · 1 评论 -
hjr-TCP,UDP,http,FTP,TCP/IP
这些都是通信协议TCP:安全,三次握手,效率低于UDOUDP:不安全,只管发送不管接收http:超文本传输协议,基于TCP,用于WEB浏览器浏览内容FTP:用于WEB浏览器下载文件TCP/IP:是一组协议包含TCP、UDP、IP......原创 2016-06-13 12:43:56 · 318 阅读 · 0 评论 -
hjr-MVC
首先MVC都是程序,都是语言。M-Model用对象关系映射(ORM)框架,使用配置文件配置好数据库、表,再使用内置的操作数据库方法用经验累积出来的DBHelper文件封装的各种操作数据库方法再调用被动使用上述一种操作数据库的方式与数据库交互,包括配置一些内容。主动编写各个参数的定义,可以用属性定义get、set等直接对参数进行限制,可以定义集合封装一组参数...原创 2017-02-10 15:00:12 · 442 阅读 · 0 评论 -
hjr-最简单的大数据理解
网上的大数据数据库 各种框架 各种概念 我觉得是次要的,有各种基础的,很快就可以学的差不多怎么做我觉得首先在网站 或 app 中埋点,就是各个页面,各个代码地点 写上一段脚本,作用是把当前用户和用户的操作传到后端,然后后端把相关数据都存到日志文件中。后端也要用自身的aop日志功能,把用户访问各个方法的操作和当前用户信息都存到日志文件中。现在我们有了很大的日志文件描述了各个用户的各种操作,...原创 2019-04-28 16:57:01 · 412 阅读 · 0 评论 -
hjr-通信原理(二):模拟信号模拟载波调制
上一节说完了一些基本概念与数字信号基带传输本节说一下其余4点(1)模拟信号模拟载波调制(2)模拟信号数字载波编码(3)数字信号模拟载波调制(4)数字信号数字载波编码先说几个名词:谱包络:波形振幅顶点连成平滑的曲线就是谱包络调制与检波:所谓调制就是把载波与基带信号相乘,得到一个新的波形至于检波就是根据相乘后的波形恢复出原基带信号的波形(检波分为同步检波和包络检波)(同步指的是用同频同相,包络见上)基...原创 2016-07-05 23:48:45 · 6647 阅读 · 0 评论 -
hjr-通信原理(三):模拟信号数字载波编码
上节说了模拟信号模拟载波调制,这节说以下模拟信号数字载波编码。即模拟信号的数字传输模拟信号经过 抽样-量化-编码 变成数字信号进入信道传输抽样 :将时间上连续的信号处理成时间上离散的信号 需要注意的是奈圭斯特抽样定理,即抽样频率不小于原信号频带宽度的2倍频宽:该信号包含的各种不同频率成分所占的频率范围接下来就是量化量化:对时间上离散的信号处理,使其在幅度上也离散,分为均匀量化与非均匀量化就是把幅度...原创 2016-07-06 11:23:11 · 1548 阅读 · 0 评论 -
hjr-通信原理(五):随机过程
先说一个概念随机过程:首先想象一个2维坐标系,x表示 时间,y表示一个数,当x取一个值时,其对应的Y值是一个随机的值(叫做随机变量)x轴的每个时刻对应的y值连成一条线,这个集合就叫做随机过程分布函数和概率密度:,可以用分布函数或概率密度来描述每一个x值对应的y值的统计特性,分布函数求导后得概率密度函数某个随机过程y(t),t1时刻随机变量小于等于x1的概率称为该随机过程的一维分布函数,求导后是一维...原创 2016-07-06 19:19:06 · 2033 阅读 · 0 评论 -
hjr-通信原理(六):信道
之前说了各种信号的传递和噪声,接下来说一下信道顾名思义就是信息传递的通道。分为有线(电缆、光缆...)和无线信道(电磁波)调制信道的数学模型如下K(t)乘性干扰 n(t)加性干扰信道分类:恒参信道:乘性干扰k(t)不随时间变化或基本不变化随参信道:乘性干扰k(t)随机快速变化恒参信道是指由架空明线、电缆、中长波地波传播、超短波及微波视距传播、人造卫星中继、光导纤维以及光波视距传播等传输媒质构成...原创 2016-07-06 23:15:17 · 1797 阅读 · 0 评论 -
hjr-通信原理(一):通信基础
因特网是用来传递信息的,想要弄清网络编程,先来了解一些通信的基本知识从最初的写信到电报、电话、到视频交流,从广播、收音机、到数字电视,都是通信系统的功劳,文字、语音、图像之类的都是信息,所以现在是信息时代传输速率传输速率可以用(码元传输速率)或者(信息传输速率)来衡量(1)码元传输速率(baud/s)(2)信息传输速率(bit/s)一单位码元可以是任意进制的一个数,一单位信息是一比特,即一个2进制...原创 2016-07-05 20:13:05 · 1275 阅读 · 0 评论 -
hjr-数字图像处理
数字图像处理主要内容数字图像表示灰度颜色分类图像增强灰度变换直方图均衡化规定化图像平滑噪声模板卷积卷积邻域平均中值滤波图像平均图像锐化梯度算子拉普拉斯算子锐化非锐化滤波高频增强滤波伪彩色处理同态滤波数字图像处理主要内容图像获取表示和表现:图像模数转换,数字图像打印图像复原:提高图像品质(退化原因已知)...原创 2016-09-25 11:27:35 · 657 阅读 · 0 评论 -
hjr-UML类图
类图类格式接口关系表示解释类图+表示public-表示private#表示protected类格式 名字(如果是抽象类用斜体表示) (+/-/#)属性 (+/-/#)方法接口类上插一个棒棒糖代表这个类是接口关系表示继承:实线加空心三角箭头实现:虚线加空心三角箭头依赖:虚线加...原创 2016-10-12 11:45:44 · 378 阅读 · 0 评论 -
hjr-WEB常见攻击方式
注入就是让攻击对象执行自己代码,注入不同的代码可以实现不同的攻击,而根据注入的方式划分了攻击名字tips:谷歌浏览器的F12中的network可以查看数据包不同的代码 比如cookie劫持,就是这段代码可以获取对方的cookie,比如钓鱼,就是这段代码可以弹出个假的密码输入窗口。注入的方式SOP(同源策略): 不同域名的客户端脚本在未授权的情况下不能读写别的域名的资源,...原创 2017-01-23 00:32:07 · 592 阅读 · 0 评论 -
hjr-CMS注入
找到后台登录页面下载个可以根据网址+字典测试联通的软件,如’御剑’。谷歌搜索 site : www.xxx.com inurl : admin|manager|system|。网站克隆类似爬虫,根据种子url+js脚本,下载网站全部资源,如 ‘秋秋网页下载器’。静态页面如www.xxx.com/index.php。 你可以猜测www.xxx.com/admi...原创 2017-01-17 17:46:57 · 563 阅读 · 0 评论 -
hjr-正则表达式
首先是思路 要匹配一段文本中的所有符合某个条件的文本段。比如在abcdacdssd中匹配 (a任意字母b) 共三个字母这个结构的文本段我们先想到句首是a,所以先是^a然后共一个所以就是^a?这样就匹配了ab和ac。常用的特殊代码 代码/语法 说明 . 匹配除换行符以外的任意字符 \w 匹配字母或数字 \s 匹配任意的空白...原创 2017-03-16 10:30:21 · 409 阅读 · 0 评论 -
hjr-JVM和服务器选择
JVMJAVA编译为Class字节码文件,加载jvm.cfg,根据配置找到jvm.dll,初始化jvm,从main开始执行 堆:线程共享,存放实例对象,没引用指向的被GC回收。 栈:后入先出,程序员分配,线程私有,存各种变量,方法形参,引用对象。每调用一次方法,入栈,结束,出栈同时回收内存,不用GC。tomcat和nginxnginx:http服务器,处理静态资源,可以做静态资...原创 2018-03-20 14:15:50 · 3671 阅读 · 0 评论 -
hjr-业务逻辑层
数据持久化想要软件或系统重启后不丢失的数据需要做数据持久化,可以保存到数据库、文件等里面。数据持久化一般有两种: - DBHelper:这种比较经典,就是写一个类专门负责数据库各种操作,比如增删改查等等方法,然后其余的类调用,一般是传入一个SQL语句,然后执行语句、查询返回表格之类的。 - ORM:为了解决关系型数据库和对象型编程语言之间的冲突,把关系型数据库封装成业务实体对象,操...原创 2016-11-09 22:31:43 · 584 阅读 · 0 评论 -
hjr-通信原理(四):数字信号模拟载波调制
数字信号分为基带传输与带通传输带通传输就是对基带信号进行调制为什么要进行基带调制:实际中大多数信道(如无线信道)因具有带通特性而不能直接传送基带信号,这是因为数字基带信号往往具有丰富的低频分量为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。具体的流程是数字信号调制主要有 振幅键控(AFK),频移键控(FSK),相移键控(PSK),差分相移键控(DPSK...原创 2016-07-06 14:14:58 · 1874 阅读 · 0 评论