网站架构
文章平均质量分 91
峰之流觞
这个作者很懒,什么都没留下…
展开
-
实际项目中负载均衡调度算法实际应用
实际项目中负载均衡软件是怎么实现负载均衡功能的呢?通过特定的负载均衡算法来实现转载 2017-07-02 13:34:00 · 370 阅读 · 0 评论 -
标准Web系统的架构分层
标准Web系统的架构分层– 转载请注明出处1、架构体系分层图在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点:系统架构是灵活的,根据需求的不同,不一定每一层的技术都需要使用。例如:一些简单的CRM系统可能在产品初期并不需要K-V作为缓存;一些系统访问量不大,并且可能只有一台业务服务器存在,所以不需要运用负载均衡层。转载 2017-10-22 14:15:00 · 356 阅读 · 0 评论 -
单点登录实现的几种方式
单点登录 ( SSO )的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了 单点登录 的需求和应用领域;从技术本身的角度分析了 单点登录 技术的内部机制和实现手段,并且给出Web- SSO 和桌面 SSO 的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对 单点登录 ( ...转载 2018-04-29 18:52:42 · 33608 阅读 · 3 评论 -
分布式最终一致性事务
一、强一致性事务的瓶颈 在《分布式强一致性事务》一文中介绍了分布式事务的常用协议2PC二阶段提交,虽然2PC能在很大程度上实现分布式事务中各节点的ACID,但也存在同步阻塞问题,协调者单点故障,协调者因网络原因导致的通知不周或收不全参与者回复导致的异常等问题。 同时,即使能稳定的使用二阶段提交实现分布式事务,但是2PC通信过程中产生的耗时是巨大的,类似淘宝网,下完一个订单后可能需要与计...转载 2018-09-24 22:39:56 · 163 阅读 · 0 评论 -
分布式强一致性事务
一、事务的概念 事务是一组操作的执行单元,相对于数据库操作来讲,事务管理的是一组SQL指令,比如增加,修改,删除等,事务的一致性,要求,这个事务内的操作必须全部执行成功,如果在此过程种出现了差错,比如有一条SQL语句没有执行成功,那么这一组操作都将全部回滚 最经典的例子便是:A向B汇款500元,B账户多了500元,这整个过程,要么全部正常执行,要么全部回滚,不然就会出现A扣款,B收不到...转载 2018-09-24 22:40:59 · 4523 阅读 · 0 评论 -
Elasticsearch 性能优化实践
0、题记Elasticsearch性能优化的最终目的:用户体验爽。关于爽的定义——著名产品人梁宁曾经说过“人在满足时候的状态叫做愉悦,人不被满足就会难受,就会开始寻求。如果这个人在寻求中,能立刻得到即时满足,这种感觉就是爽!”。Elasticsearch的爽点就是:快、准、全!关于Elasticsearch性能优化,阿里、腾讯、京东、携程、滴滴、58等都有过很多深入的实践总结,都是...转载 2019-01-16 11:01:25 · 258 阅读 · 0 评论 -
docker安装elasticsearch
1 docker search elasticsearch 选择一个版本,拉取镜像 docker pull elasticsearch:2.4.4查看镜像 docker images通过镜像,启动一个容器,并将9200和9300端口映射到本机docker run -d -p 9200:9200 -p 9300:9...转载 2019-01-16 11:48:58 · 4494 阅读 · 3 评论 -
缓存技术的详解
一、缓存概述缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。1、缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位置。 2、缓存分类在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用。...转载 2019-03-04 22:10:43 · 544 阅读 · 0 评论 -
把分布式缓存一致性解决方案说的最清楚的一篇文章
首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。 文章结构 本文由以下三个部...转载 2019-03-05 20:34:54 · 22354 阅读 · 14 评论 -
快速入门和了解docker
什么是dockerDocker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc...转载 2019-03-06 13:38:19 · 303 阅读 · 0 评论 -
服务发现的基本原理与比较:Eureka vs Consul vs Zookeeper
前言在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的。在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。在微服务应用中,服务实例的数量和网络地址都是动态变化的,这对系统运维提出了巨大的挑战。因此,动态的服务注册与发现就显得尤为重要。解决的问题在一个分布式系统中,服务注册与发现组件主...转载 2019-03-06 17:29:22 · 444 阅读 · 0 评论 -
细聊分布式事务
首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有不太清楚的同学,可以参考之前的文章:《拜托,面试请不要再问我Spring Cloud底层原理!》。1|0业务场景介绍咱们先来看看业务场景,假设你现在有一个电商系统,里面有一个支付订单的场景。那对一个订单支付之后,我们需要做下面的步骤:更改订单的状态为“已支付” 扣减商品库存 给会员增加积分 创...转载 2019-03-04 19:42:26 · 321 阅读 · 0 评论 -
ZeroMQ,史上最快的消息队列 —– ZMQ的学习和研究
一、ZeroMQ 的背景介绍 引用官方的说法: “ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ 的明确目标是“成为标准网络协议栈的一部分,之后进入 Linux 内核”。现在还未看到它们的成功。但是,它无转载 2017-09-02 15:38:04 · 856 阅读 · 0 评论 -
浅谈web网站架构演变过程
前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变。 该系统具备的功能: 用户模块:用户注册和管理商品模块:商品展示和管理交易模块:创建交易和管理 阶段一、单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件。此时我们使用一个容器,如tomcat、jetty、jboos,然后直接使转载 2017-07-27 10:56:56 · 382 阅读 · 0 评论 -
Web框架本质及浅谈HTTP协议
对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。12345678910111213141516171819202122232转载 2017-07-27 10:55:45 · 589 阅读 · 0 评论 -
web中缓存的几种方式
1应用程序实现的动态页面缓存应用程序把动态文件生成的html文件缓存到文件服务器,以后用户请求动态文件,直接从文件服务器加载对应的静态缓存的html文件返回给用户,这里面主要节省了动态语言的执行时间和数据库访问时间。但是会增加了缓存框架的加载和缓存查找的时间。 2把解释执行的开发语言编译成为目标代码这个主要把解释执行的高级语言,例如java,php直接编译成为平台相关的目标转载 2017-07-03 18:08:04 · 456 阅读 · 0 评论 -
浅谈web站点调优
服务器性能优化1.度量性能 持续地对性能进行度量在两个方面有帮助。首先,度量可以帮助了解性能趋势,包括好坏两方面的趋势。作为一个简单的方法,查看一下 Web 服务器上的中央处理单元(CPU)使用率,就可以了解 CPU 是否负载过重。同样,查看过去使用的总带宽并推断未来的变化,可以帮助判断什么时候需要进行网络升级。这些度量最好与其他度量和观测结合考虑。例如,当用户抱怨应用程序太慢时,可转载 2017-07-03 18:13:41 · 584 阅读 · 0 评论 -
磁盘缓存和内存缓存的区别
内存缓存高速缓存(英语:cache,英语发音:/kæʃ/ kash [1][2][3],简称缓存),其原始意义是指访问速度比一般随机存取存储器(RAM)快的一种RAM,通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。原理 Cache一词来源于1967年的一篇电子工程期刊论文。其作者将法语词“cache”赋予“safekeeping storage”的涵义,用于转载 2017-07-13 12:45:17 · 2094 阅读 · 0 评论 -
Linux 高可用(HA)集群之keepalived详解
大纲一、前言二、Keepalived 详解三、环境准备四、LVS+Keepalived 实现高可用的前端负载均衡器一、前言 这篇文章是前几篇文章的总结,我们先简单的总结一下我们前面讲解的内容,前面我们讲解了,LVS(负载均衡器)、Heartbeat、Corosync、Pacemaker、Web高可用集群、MySQL高可用集群、DRDB、iscsi转载 2017-07-06 20:20:33 · 538 阅读 · 0 评论 -
使用Nginx+Keepalived组建高可用负载平衡Web server集群
一,首先说明一下网络拓扑结构:1,Nginx 反向代理Server(HA): ①Nginx master:192.168.1.157 ②Nginx backup:192.168.1.158 虚拟IP统一为:192.168.1.110 2,web服务器: 192.168.1.160 ,192.168.1.161,19转载 2017-07-06 20:30:00 · 278 阅读 · 0 评论 -
Centos下git环境搭建
首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便。这步默认你会,就不讲了。有了CentOS,那么如何搭建Git服务器呢?1、首先需要安装git,可以使用yum源在线安装:[root@localhost Desktop]# yum install -y git2、创建一个git用户,用来运行git服务# adduser git 3、初转载 2017-07-16 00:09:02 · 220 阅读 · 0 评论 -
github设置添加SSH
由于github上非常多的开源代码,故最近开始使用学习git,下面把在github上设置添加ssh的经验做个总结很多朋友在用github管理项目的时候,都是直接使用https url克隆到本地,当然也有有些人使用 SSH url 克隆到本地。然而,为什么绝大多数人会使用https url克隆呢?这是因为,使用https url克隆对初学者来说会比较方便,复制https原创 2017-07-16 02:42:11 · 400 阅读 · 0 评论 -
git常用命令总结
git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹. git clone 获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url]. clone下来的repo会以url最后一个斜线后面的名称转载 2017-07-16 03:29:52 · 164 阅读 · 0 评论 -
GitHub的使用之新建与更新代码
一、新建仓储:注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣的,也可以直接下载压缩包,或者直接使用Git clone到本地。因为GitHub是基于Git版本转载 2017-07-16 04:39:12 · 326 阅读 · 0 评论 -
从github下载某个git库的4种方法
以gerrit-trigger-plugin为例,下面的链接都是从相应页面上直接拷贝的。法一:不用github的账号,打开这个库在github上的主页,运行下面命令即可read only运行命令$Git clone https://github.com/jenkinsci/gerrit-trigger-plugin.git下面的三种方法都要先在github上注册账户,然后生转载 2017-07-16 18:33:25 · 7871 阅读 · 0 评论 -
xcopy 实现批处理拷贝文件或文件夹
xcopy 是一个很有用的doc命令,应该学习学习!可以用xcopy实现,例如:C:\>xcopy C:\ppt\*.* D:\ppt\ /s /e这条命令的意思就是把C盘下的PPT文件夹全部拷贝到D盘XCOPY 还有众多的功能, 是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去,一些使用举例和参数说明如下:1、如只是单纯地复制 E:\转载 2017-07-27 10:51:12 · 17133 阅读 · 0 评论 -
NGINX 配置本地HTTPS(免费证书)
Linux系统下生成证书生成秘钥key,运行:$ openssl genrsa -des3 -out server.key 20481会有两次要求输入密码,输入同一个即可输入密码然后你就获得了一个server.key文件.以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:$ openssl rsa -...转载 2019-07-13 18:45:13 · 2741 阅读 · 0 评论