自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (58)
  • 收藏
  • 关注

原创 Java面试问题集锦

本文主要面试中经常遇到的一些java知识点。

2024-02-23 17:01:00 878

原创 TCP面试问题集锦

HTTP协议提供扩展机制,Header中增加了Cookie,存储在客户端,每次请求时自动携带,采用空间换时间机制,满足上下请求关联。当然为了减轻网络负担,浏览器会限制Cookie的大小,不同浏览器的限制标准略有差异,如:Chrome 10,限制最多 180个,每个Cookie大小不能超过 4096 bytes。但是窗口越大,如果数据发生错误,损失也就越大,因为需要重传越多的数据。大数据拆包成多个片段,发送可以保证有序,但是由于网络环境复杂,并不能保证它们到达时也是有序的,为了解决这个问题,对每个片段用。

2024-02-23 15:56:10 1096

原创 深入理解负载均衡原理及算法

能够让同一客户端的请求或者同一用户的请求总是请求在后端同一台机器上,这种算法根据客户端IP求出Hash值然后对端集群总数求余得到值就是服务器集合的下标,一般这种算法用于缓存命中,或者同一会话请求等,但这种算法也有一定的缺点,某一用户访问量(黑产)非常高时可能造成服务端压力过大或者后端服务Down掉,那么客户端就会无法访问,所以也需要一定的降级策略。,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到极大提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。

2023-08-04 14:59:19 738

原创 微服务之服务注册与发现原理

在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一。

2023-07-20 15:44:32 300

转载 ElasticSearch为啥这么快

思考几个问题:为什么搜索是近实时的? 为什么文档的 CRUD (创建-读取-更新-删除) 操作是实时的?一. 从上到下的整体结构这里有篇文章讲解的很形象:这是集群cluster。这是节点Node:就是个机器。由一个或者多个节点,多个绿色小方块组合在一起形成一个ElasticSearch的索引。在一个索引下,分布在多个节点里的绿色小方块称为分片:S...

2019-08-27 15:48:03 213

转载 服务发现机制

本文出自Service Discovery in a Microservices Architecture,作者 Chris Richardson, 写于2015年5月19日这是本系列文章的第四篇。第一篇文章:介绍微服务架构并讨论了微服务架构的优点和缺点; 第二篇文章和第三篇文章:描述微服务之间的通信的不同方面;本文我们继续探索与服务发现紧密联系的有关问题。一、为什么使用服务发现?...

2019-04-15 11:09:58 69

原创 一分钟了解负载均衡的一切

1. 什么是负载均衡 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。2. 常见的负载均衡方案 常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每一个下游都有多个上游调用,只需要做到,每一个上游...

2019-03-23 22:44:27 45

转载 RocketMQ基础概念及使用总结

1. 了解RocketMQ? RocketMQ是阿里开源的一款十分优秀的消息队列,RocketMQ具有很多其他消息队列不具有的特性,更重要的是RocketMQ是用Java开发的,学习成本较低,并且经历了双11的数据洪峰的考验。RocketMQ已经加入了apache,成为apache的顶级项目。目前RocketMQ的代码托管在github上:https://github.com/a...

2019-03-12 23:00:22 42

转载 朋友圈微博feed流,推拉实践

上一篇《feed流拉取,读扩散,究竟是啥?》关于feed流的拉取还是推送,只写了一半“拉取”,今天介绍另一半“推送”(写扩散)。为了对比“拉”“推”两种方案,同时也为了避免大伙在两篇文章切换,故先简单赘述背景与“拉”(读扩散)方案。feed业务特点:有类似于“关注/粉丝”的好友关系,个人的主页由别人发布的feed消息组成。feed业务典型动作:关注,取关,发布feed,拉取...

2019-03-10 22:45:06 32

转载 feed流拉取,读扩散,究竟是啥?

任何脱离业务的架构设计都是耍流氓。1. 哪些产品是feed流典型业务?答:微博,微信朋友圈,Pinterest是典型的feed流业务,系统中的每一条消息就是一个feed。这类业务的特点是: 有好友关系,例如关注,粉丝; 我们的主页由别人发布的feed组成; 这类业务的典型动作是: 关注,取关;发布feed;拉取自己的主页feed流; 这类业务的...

2019-03-10 22:42:57 32

转载 微信多点登录,消息漫游,假如让你来实现?

微信如何实现手机端、PC端同时登录,同时收消息? 微信能不能实现,换一个手机,仍能拉取到历史消息?这是多点登录和消息漫游的问题。1. 什么是多点登录?以微信为例,可以PC端,phone端同时登录,同时收发消息。(需要注意的是,一个端只能登录一个实例,例如同一个QQ号,在pc1上登录,再到pc2上登录,后者会把前者踢出,pc1会收到通知“你已在别处登录”。)2. 什么是消息漫游?...

2019-03-10 22:41:58 43

转载 群消息,究竟存1份还是多份?

群信息,用户信息,群成员关系都是基础数据:group_info(gid, group_info);user_info(uid, user_info);group_members(gid, uid);假设一个群(gid)里有4个成员,其中三个在线(A, uid1, uid2),一个不在线(uid3)。A发送了一条消息,很容易想到,对于不同的群友消息存多份,每个群友一个队列来存...

2019-03-10 22:38:46 25

转载 群消息已读回执,究竟是推还是拉?

每当发出一条微信消息,都希望对方尽快看到,并尽快回复,但始终不知道对方是否阅读。每当收到一条不能立马回复的微信消息,都默默返回,假装没看见。微信用于个人社交,产品设计上,在线状态,强制已读回执都有可能暴露个人隐私,故微信并无相关功能。钉钉用于商务交流,其“强制已读回执”功能,让职场人无法再“假装不在线”,“假装没收到”。有甚者,钉钉的群有“强制已读回执”功能,你在群里发出的消息,能...

2019-03-10 21:42:46 33

原创 进程通信机制,进程/线程的同步

1. 进程互斥、同步的概念 进程互斥、同步的概念是并发进程下存在的概念,有了并发进程,就产生了资源的竞争与协作,从而就要通过进程的互斥、同步、通信来解决资源的竞争与协作问题。 在多道程序设计系统中,同一时刻可能有许多进程,这些进程之间存在两种基本关系:竞争关系和协作关系。进程的互斥、同步、通信都是基于这两种基本关系而存在的。为了解决进程间竞争关系(间接...

2019-03-01 17:18:52 511

转载 十种常见排序算法

1. 常见排序算法分类十种常见排序算法一般分为以下几种:1)非线性时间比较类排序:交换类排序(快速排序和冒泡排序)、插入类排序(简单插入排序和希尔排序)、选择类排序(简单选择排序和堆排序)、归并排序(二路归并排序和多路归并排序);2)线性时间非比较类排序:计数排序、基数排序和桶排序。总结:1)在比较类排序中,归并排序最快,其次是快速排序和堆排序,两者不相伯仲,但是有一点需要注意...

2019-03-01 17:17:27 670

转载 一致性哈希(hash)算法

1. 算法背景一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。2. 应用场景现在一致性hash算法在分布式系统中也得到了广泛应用,分布式系统中涉及到集群部署,包括缓存R...

2018-12-26 16:58:50 335

原创 深入解析C++ STL中的常用容器

1.关联容器和顺序容器  c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。其中vector表示一段连续的内存地址,基于数组的实现;list表示非连续的内存,基于链表实现。deque与vector类似,但是对于首元素提供删除和插入的双向支持。关联容器主要有map和set,map是key-value形式的,set是单值。map和set只能存放唯...

2018-12-23 10:37:26 342

转载 C++ 多态的实现及原理

C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数。如果对象类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。 用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。 存在虚函数的类都有一个一维的虚函数表叫做虚表,类的对象有一个指向虚表开始...

2018-12-22 16:02:51 219

原创 分布式锁的几种实现方式

1. 什么是分布式锁 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网...

2018-12-22 14:31:21 272

转载 多线程的同步与互斥(互斥锁、条件变量、读写锁、自旋锁、信号量)

1. 同步与互斥的概念  现代操作系统基本都是多任务操作系统,即同时有大量可调度实体在运行。在多任务操作系统中,同时运行的多个任务可能:都需要访问/使用同一种资源; 多个任务之间有依赖关系,某个任务的运行依赖于另一个任务。【同步】:  是指散布在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。最基本的场景就是:...

2018-12-22 11:12:27 808

转载 线程的同步与互斥:互斥锁

1. 什么是线程的同步与互斥?互斥:是指在某一时刻只允许一个线程运行其中的程序片,具有排他性和唯一性。对于线程A和线程B来讲,在同一时刻,只允许一个线程对临界资源进行操作,即当A进入临界区对资源操作时,B就必须等待;当A执行完,退出临界区后,B才能对临界资源进行操作。同步:指的是在互斥的基础上,实现进程之间的有序访问。假设现有线程A和线程B,线程A需要往缓冲区写数据,线程B需要从缓冲区读数...

2018-12-22 09:37:45 1209 1

转载 expect用法[自动连接远程机器脚本]

使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。  脚本代码如下:###############################################!/usr/bin/expectset timeout 30spawn ssh -l username

2015-07-22 12:08:45 869

原创 Redis面试问题集锦

本文主要讲解面试中经常遇到的一些redis知识点。

2015-01-08 16:21:22 1075

原创 海量数据业务优化手段

互联网时代,亿级用户各种网络行为产生大量数据,如何解决海量数据存储?如何高性能读写?解决思路有哪些,本文列举了常用的解决方案:

2014-11-05 10:34:51 778 1

转载 Redis介绍及常用命令

一 Redis介绍Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。Redis能运行在大多数POSIX(Linux, *BSD, OS X 和Solaris等)系统上,官方没有支持Windows的版本。目前最新的版本是2.2.11

2013-07-19 14:42:42 581

原创 消息队列面试问题集锦

如果某个 broker 宕机了,没事儿,那个 broker 上面的 partition 在其他机器上都有副本,此时会从 follower 中重新选举一个新的 leader 出来,大家继续读写那个新的 leader 即可。而消费端拉取并消费消息时,也是希望按正常的状态机流程进行。异步处理:将一个请求链路中的非核心流程,拆分出来,异步处理,减少主流程链路的处理逻辑,缩短RT,提升吞吐量。所以,只能业务端自己做控制,对于已经消费成功的消息,本地数据库表或Redis缓存业务标识,每次处理前先进行校验,保证幂等。

2013-07-10 15:51:09 1047 1

原创 Mysql面试问题集锦

本文主要讲解面试中经常会遇到的一些mysql知识点,

2013-07-10 14:47:02 742

原创 微服务之熔断、降级、限流

限流、熔断和服务降级是系统容错的重要设计模式,从一定意义上讲限流和熔断也是一种服务降级的手段。熔断和服务降级主要是针对非核心业务功能,而核心业务如果流程超过预估的峰值,就需要进行限流。

2013-07-09 18:12:00 1952

原创 缓存穿透与布隆过滤器

本文主要介绍在使用缓存过程中经常会遇到的几个问题:缓存击穿、缓存雪崩、缓存穿透,以及其解决方案。之后会对缓存穿透的解决方案之一布隆过滤器,进行详细讲解。

2013-07-09 18:09:45 1783

原创 分布式唯一 ID 生成方案浅谈

本文主要介绍一下各种分布式ID生成器,旨在给大家一个详细学习的方向,每种生成方式都有它自己的优缺点,具体如何使用还要看具体的业务需求。

2013-07-09 18:04:42 1025

原创 高并发下如何保证幂等性?

幂等性问题,在实际业务开发过程中,是一个相对比较重要的问题。本文列举了解决这类问题8种方案,希望对大家有所帮助。

2013-07-09 16:31:53 926

原创 海量数据业务优化之道

互联网时代,亿级用户各种网络行为产生大量数据,如何解决海量数据存储?如何高性能读写?解决思路有哪些,本文列举了常用的解决方案。

2011-07-22 10:41:03 856 1

原创 【高并发、高性能、高可用】系统设计解决之道

软件开发通常会提到一个名词 “三高”,即高并发、高性能、高可用。

2010-10-31 22:30:00 1446

原创 (万字长文)深入理解redis核心技术

本文主要透彻讲解redis集群、redis事务、redis分布式锁、redis缓存问题、持久化机制等几个核心技术点。

2010-10-31 18:15:00 534 1

原创 吃透负载均衡原理和算法

负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务或者网络请求)进行平衡,分摊到多个操作单元(服务器或者组件)上进行运行。目的是尽量将网络流量 平均 发送到多个服务器上,以保证整个业务系统的高可用。

2010-10-31 18:09:00 496 1

[JAVA]使用JNI技术实现JAVA程序调用dll

[JAVA]使用JNI技术实现JAVA程序调用dll、[JAVA]使用JNI技术实现JAVA程序调用dll

2011-05-17

超文本传输协议_--_HTTP1[1].0(RFC1945中文版)_下.txt

超文本传输协议_--_HTTP1[1].0(RFC1945中文版)_下.txt

2011-03-16

超文本传输协议_--_HTTP1[1].1(RFC_2616中文版)_下.txt

超文本传输协议_--_HTTP1[1].1(RFC_2616中文版)_下.txt

2011-03-16

Linux与unix+shell编程指南

Linux与unix+shell编程指南、Linux与unix+shell编程指南

2011-03-13

海量数据处理、ClearBug、Kvm

海量数据处理、ClearBug、Kvm,自己下载使用

2011-03-13

信息安全论文之蜜罐二

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-03-01

信息安全论文之蜜罐一

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-03-01

信息安全论文七(caj2)

中国知网文档浏览器CAJViewer

2011-02-22

信息安全论文七.part1.rar

中国知网文档浏览器CAJViewer

2011-02-22

信息安全论文六(指纹识别算法)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的 如无必要,各位就不要下载了,省得浪费积分 如有需要,欢迎下载

2011-02-22

信息安全论文五(恶意代码检测)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-02-21

信息安全论文四(逆向分析)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-02-21

信息安全论文(软件加密技术)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-02-21

信息安全论文二(缓冲区溢出、PKI)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-02-21

信息安全论文一(linux内核相关)

压缩包里面是我在学校图书馆下的一些硕士论文,弄到公司看,我们公司只能上一些技术网站,所以就上传到CSDN上来,是用来我自己在公司下载用的……如无必要,各位就不要下载了,省得浪费积分……如有需要,欢迎下载……

2011-02-21

html与Java Script

html与Java Script、html与Java Script、html与Java Script

2011-01-05

Java程序设计经典教程电子教程

Java程序设计经典教程电子教程

2011-01-05

java教程

java教程

2011-01-05

JSP网页编程

JSP网页编程

2011-01-05

MyEclipse 6 Java 开发中文教程

MyEclipse 6 Java 开发中文教程

2011-01-05

算法与数据结构 算法与数据结构

算法与数据结构,包含很多经典的算法例子

2011-01-05

MarAntBlogSystem

MarAntBlogSystem

2011-01-05

HTML教材 HTML教材

学习HTML语言的比较好的教材,欢迎大家下载……

2011-01-05

OnLineSaleSystem

OnLineSaleSystem OnLineSaleSystem OnLineSaleSystem

2011-01-05

Linux与Unix Shell编程指南

详细介绍了Linux下的SHELL编程相关知识,是学习Shell编程的经典书籍……

2010-12-26

oracle+9i+分析函数参考手册

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

Oracle一步一步学RMAN

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

Oracle函数大全

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

Oracle详细教程

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

Oracle+OCI+API封装类

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

OCI 实例 和 函数

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

OCI 函数 (Oracle)

ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORACLE数据库的目的。

2010-11-11

UNIX环境高级编程

UNIX环境高级编程被大家尊称为unix,linux下编程的圣经。

2010-10-31

MySQL权威指南第二版

MySQL权威指南第二版林琪,朱涛江翻译 MySQL学习的宝典制作

2010-10-31

MYSQL 完全手册

一个关于mysql的非常好的教程,里面详细的介绍了mysql 详细的介绍了mysql的各种语法,已经常见的概念的解释。

2010-10-31

Linux C语言编程入门

基本的Linux下的C语言编程入门,适用于初学者

2010-10-31

MySQL 5.1 官方简体中文版参考手册

MySQL 5.1 官方简体中文版参考手册,学习mysql的好书……

2010-10-31

Mysql中文参考手册

MySQL 是一个快速、多线程、多用户和强壮的SQL数据库服务器

2010-10-31

Linux C函数使用手册.chm

这是Linux C函数库参考手册(PDF版),希望能对大家有帮助,如果其中有什么不足的地方,请指正,谢谢。

2010-10-31

Linux C函数库参考手册

详细讲解了Linux 中函数的用法,并有相关例程,是学习Linux较实用的参考手册

2010-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除