自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (1)
  • 收藏
  • 关注

原创 搞懂“负载均衡”,一篇就够了

在互联网发展呢的今天,我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如 www.baidu.com 那么当用户在浏览器输入 www.baidu.com 的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。负载均衡的分类负载均衡就是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁碟驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。那么,这种计算机技术的实现方式有多种

2021-04-20 07:29:18 929

原创 5分钟深入理解RabbitMQ

RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。Erlang是为电话交换机编写的语言,天然对分布式和高并发支持良好。RabbitMQ特点RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现非常优异。具体有以下特点:可靠性(Reliability)消息服务的可靠性是MQ的基础,RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认等。灵活的路由(Flexible Routing)在消息进入队列之前,通过 Exc

2021-04-17 02:08:31 273

原创 消息队列-基础篇

前文我们讲到了分布式事务可以通过MQ(消息队列)的半消息来实现,除此之外在分布式系统中我们大量的场景会用到MQ,比如微信朋友圈里你点赞一条信息,你的共同点赞的好友就会收到一个消息通知等。那么MQ都有哪些使用场景呢?MQ 的作用1.应用解耦如图所示,第一种 B和C 都直接依赖 A 服务,那么如果 A 中的接口修改,B和C 都要跟着做修改,耦合度高。 第二种,通过 MQ 来作为中间件收发消息,B和C只依赖收到的消息而不是具体的接口,这样即使 A 服务修改或者增加其他服务,都只要订阅MQ就行。这样一来,应用是不是

2021-04-16 07:55:14 198

原创 CAS自定义拓展Credentials

我们在使用CAS的时候,除了用户名、密码可能还需要验证码等其他信息,CAS一般使用的Credentials是org.jasig.cas.authentication.principal.UsernamePasswordCredentials,这里只包含有:/** The username. */@NotNull@Size(min=1,message = "required.username"...

2018-12-16 22:05:12 950

原创 SpringBoot集成RabbitMq(Topic模式)

今天主要介绍一下,前些天对SpringBoot集成RabbitMq一些工作的总结:1、maven包引入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifac...

2018-12-15 19:33:10 4834

原创 Kubernetes第一课

今天有幸参加了一个活动,活动主要是Rancher对自己的容器软件产品做的一些介绍,其中依赖Azure整合Kubernetes。由于个人对这块了解较少,所以整理了一些学习资料,工大家入门参考:百科十分钟带你理解Kubernetes核心概念三小时攻克 Kubernetes!kubernetes中文社区kubernetes官网而Rancher是一个开源的企业级容器管理平台。通过Ranch...

2018-12-14 00:00:17 200

原创 两种程序员的人生

程序员A:每日6点半起床/早餐,7点半出发,等车、坐车途中查看邮件/IM,简单回复8点半到公司,花5分钟整理工位+打水+手机静音,花5分钟做当日计划,花5分钟添加待办清单/日历,15分钟回复复杂邮件9点开始写代码,期间只会上厕所和喝水。不开邮件提醒和IM,手机调静音,不刷朋友圈,不跟别人讨论问题,不跟别人开会12点,约一个同事一起午饭,处理手机重要消息,之后短暂午休午休结束,打开邮件系...

2018-12-13 23:36:31 228

原创 mysql binlog查看常用命令

1、查看当前正在写入的binlog文件show master status\G;*************************** 1. row *************************** File: mysql-bin.000002 Position: 155 Binlog_Do_DB: Binlog_Ignore_...

2018-12-09 18:07:49 4469

原创 mysql binlog日志binlog_format

binlog_format 查看:show variables like 'binlog_format';+---------------+-------+| Variable_name | Value |+---------------+-------+| binlog_format | ROW |+---------------+-------+1 row in set (0...

2018-12-09 08:56:31 2882

原创 MySql binlog配置

如果你的数据库要进行主从复制,就必须要配置binlog。需要在my.cfg(/etc/my.cnf)里添加:[mysqld]#binlog日志名称前缀log-bin=mysql-bin#默认值未0,如果使用默认值则不能和从节点通信,这个值的区间是:1到(2^32)-1server-id=1配置后,重启服务器!验证binlog是否配置成功:mysql> show variab...

2018-12-09 08:35:43 5042

原创 基于Asciidoctor生成HTML文档

1、pom文件引入 <dependency> <groupId>org.asciidoctor</groupId> <artifactId>asciidoctorj</artifactId> <version>1.5.6&am

2018-12-02 19:04:49 5598

原创 swagger2markup基于swagger.json生成文档asciidoc、markdown、confluence

本示例展示的前提是已经生成swagger.json1、jar包依赖:<dependency> <groupId>io.github.swagger2markup</groupId> <artifactId>swagger2markup</artifactId> <version>1.1.0</versio...

2018-11-25 21:45:23 1716 1

原创 Maven自定义插件简介

一、项目搭建1、创建新项目打包方式:<packaging>maven-plugin</packaging>jar包依赖:<dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId...

2018-11-25 21:30:19 546

原创 99%的程序员都会用到的Linux命令——ps

ps(Process Status)命令是一款非常强大的进程查看工具,一般常用的ps参数如下:-A 列出所有的进程-a 列出所有的进程,和-e有同样的效果-w 显示加宽-u 显示有效使用者相关的进程-aux 显示所有包含其他使用者的行程aux参数输出:USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND​ ...

2018-11-18 19:58:59 182

原创 99%的程序员都会用到的Linux命令—— grep详解

​grep 是Linux系统非常强大的基本行的文本检索工具,以下为常用的 grep命令:-i 不区分大小-c 统计匹配行数-n 输出行号-v 反向匹配-m 指定个数–color 颜色突出-A 匹配后多少行-B 匹配前多少行-C 匹配前后多少行更多内容,参考:https://www.cnblogs.com/forestwolf/p/6413...

2018-11-18 19:09:13 157

原创 99%的程序员都会用到的Linux命令——文件管理

文件操作:命令说明touch创建文件rm删除mv移动或重命名cat查看文件内容head查看文件头-n 数字 :显示多少行tail查看文件尾-n 数字 :显示多少行cp拷贝文件chmod修改文件权限r:读 w:写 x:执行chown修改文件拥有者find -name查找文件w...

2018-11-17 23:15:40 143

原创 99%的人都会用到的快捷键——Chrome

快捷键说明Ctrl+N打开新窗口Ctrl+Shift+N无痕打开新窗口(很有用的~)Ctrl+T打开新页签Ctrl+Shift+T重新打开最后关闭的页签Ctrl+W关闭当前页签Ctrl+Shift+W关闭浏览器Ctrl+Tab跳到下一个标签页Ctrl+Shift+Tab跳到上一个标签页Alt+空格键+N最小化当前...

2018-11-11 18:37:09 139

原创 99%的人都会用到的快捷键——Mac

快捷键说明Command+C拷贝Command+X剪切Command+V粘贴Command+Z撤销Command+A全选Command+F查找(Option)+ Command+H隐藏最前面的或其他窗口(Option)+ Command+M最小化最前面或所有窗口Command+O打开Command+S保存...

2018-11-11 18:19:01 155

原创 99%的人都会用到的快捷键——windows

快捷键功能描述win开始win+E打开资源管理器win+D打开/隐藏桌面win+L锁屏win+R运行win+Alt+D显示日历win+TAB代开任务试图win+Shift+M还原桌面上的最小化窗口Ctrl+A全选Ctrl+C拷贝Ctrl+V粘贴Shift+Insert黏贴Ctrl+X...

2018-11-10 22:34:43 171

原创 99%的人都会用到的快捷键

那些99%的人都会实用到的快捷键快捷键的作用1.更高效的工作可以更快捷的操作自己的工具,而避免了鼠标和键盘之间的切换而浪费时间,从而提高自己的工作和学习效率。2.更炫酷的操作优雅的实用快捷键会看上去很炫酷,很专业,能够更随心所欲的控制和使用自己的工具。本人不建议学习工具里的所有快捷键,而是学习自己常用到的快捷键,一时为了节省学习成本,没必要学习一些自己几乎不会实用到的技能,...

2018-11-10 22:32:40 129

原创 ZooKeeper启动数据初始化分析

在ZooKeeper服务器启动期间,首先会进行数据初始化工作,用于将存储在磁盘上的数据文件加载到ZooKeeper服务器内存中。​初始化流程数据初始化工作其实就是从磁盘中加载数据的过程,主要包括了从快照文件中加载快照数据的根据事务日志进行数据订正两个过程。1.初始化FileTxnSnapLogFileTxnSnapLog是ZooKeeper事务日志和快照数据访问

2017-01-14 10:41:02 2015

原创 ZooKeeper 启动过程分析

单机服务器启动ZooKeeper服务器启动,大体分为五个主要步骤:配置文件解析、初始化数据管理器、初始化网络I/O管理器、数据恢复和对外服务。预启动预启动的步骤如下:1、统一由QuorumPeerMain作为启动类2、解析配置文件zoo.cfg3、创建并启动历史文件清理器DatadirCleanupManager4、判断当前是集群模式还是单机模式的启动5、再

2017-01-12 22:44:08 421

原创 ZooKeeper Session分析

在ZooKeeper客户端与服务端成功完成建立连接后,就建立了一个会话。ZooKeeper会话在整个运行期间的生命周期中,会在不同的会话状态之间进行切换,这些状态一般可以分为CONNECTING、CONNECTED、RECONNECTING、RECONNECTED和CLOSE等。Session 是ZooKeeper中最重要的概念之一。它包括4个基本属性:sessionID:会话ID,唯

2017-01-12 21:15:37 554

原创 ZooKeeper应用场景

随着互联网系统规模的不断扩大,大数据时代飞速到来,越来越多的分布式系统将ZooKeeper作为核心组件使用。接下来一起看一下ZooKeeper究竟可以做哪些工作。1、数据发布/订阅数据发布/订阅系统,就是将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,从而达到动态获取数据的目的。发布/订阅系统一般有两种设计模式,分别是推(Push)和拉(Pul

2017-01-08 21:50:39 304

原创 初识ZooKeeper

ZooKeeper是一个分布式数据一致性的解决方案,可以基于它实现数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。​ZooKeeper特性顺序一致性从同一个客户端发起的事务请求,最终会严格按照发起的顺序被应用到ZooKeeper中去。原子性所有事务请求的处理结果在整个集群中所有机器上的应用情况是一

2017-01-07 00:09:03 209

原创 从ACID到CAP/BASE

接下来会学习一下Zookeeper,在学习Zookeeper之前,还是要介绍一些分布式事务的基础理论知识。事务的ACID,我们在介绍MySql的时候,已经介绍到了。所以在此就不做介绍了。 然而,随着分布式计算的发展,事务在分布式计算领域中也的到了广泛的应用。在单机数据库中,很容易实现一套满足ACID特性的事务处理,但在分布式数据库中进行事务处理就具有非常大的挑战。因为分布式环境存在

2017-01-06 22:15:03 260

原创 性能优化一点总结

个人管理方面1、形成体系化的思想。当做一件事(开发一个系统、解决一个问题)的时候,可以按照一定的体系去下手,这个体系可以理解为思维意识。少了很多无从下手、从零开始的过程,从而提升效率。这一点事需要个人长久的总结和丰富的经验!2、开阔自己的视野。从不同方面去寻找自己解决问题的思路,增加自己的选择空间,会让你权衡更全面,分析更透彻,从而理解更深入,解决问题也更到位。做技

2016-12-27 22:41:43 308

原创 Dubbo注册中心介绍

Dubbo的注册中心有好多种,包括Multicast、Zookeeper、Redis和Simple等。Dubbo官方推荐使用Zookeeper注册中心,我所使用过的也只是Zookeeper注册中心。首先介绍一下Zookeeper: ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为

2016-12-25 22:30:37 2426

原创 Dubbo协议介绍

关于Dubbo使用的demo我在这就不多介绍了,因为很简单,网上资源也很多。在这里我简单介绍一下Dubbo的配置中使用到的最常用的协议。在介绍协议之前,首先要介绍一下Dubbo的线程模型事件处理线程说明如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度。但如果事件处理逻辑较慢,或者需要

2016-12-25 11:18:32 423

原创 Dubbo介绍

一、系统架构演变首先说一下系统应用的发展演化过程。也是我整个工作过程中经历的过程。1.单机应用特点:当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。比如,一个公司的所有系统都整合在一起,比如后台管理系统,OA系统、CRM系统全部放在一起,而根据不同的用户权限展示不同的系统功能。2.垂直拆分特点:当访问量逐渐增大,单一应用增加机器带来的加速度越来越小

2016-12-24 17:29:23 240

原创 mongodb性能优化

一.范式化与反范式化范式的优点:1)范式化的数据库更新起来更加快;2)范式化之后,只有很少的重复数据,只需要修改更少的数据;3)范式化的表更小,可以在内存中执行;4)很少的冗余数据,在查询的时候需要更少的distinct或者group by语句。范式的缺点:1)范式化的表,在查询的时候经常需要很多的关联,因为单独一个表内不存在冗余和重复数据。这导致,稍微复杂一些的查询

2016-12-24 12:52:24 318

原创 基于mongodb的地理检索实现

使用mongoDB不是很多,记得以前做“家长助手”的时候,使用过一点。只是在去年做“派单系统”的时候,又再一次使用mongoDB。在这里先简单介绍一下派单系统,派单系统在云足疗(O2O,上门足疗)里一个专门负责订单派送,提高订单完成效率的一个系统。主要是当一个来了之后,会根据订单的服务项目、服务时间和服务地点,快速找到最合适最优秀的技师,返回给用户。由于上门足疗特殊行业的要求,不能给订单指定技师直

2016-12-22 21:40:36 2592

原创 关于共享单车,说点什么

共享单车,这也许是今年夏天以来最火的一个词语了。然而,它的火不只是在概念上,也真真切切的深入到我们每个人的身边。先上几张图片吧!mobikeofo先简单说一些,我对这两款产品的看法。1、从科技角度这一点,相信不用多说,大家都有结论。ofo单车,可以说和普通自行车没有一点不同。而mobike单车,明显不同于传统的

2016-12-19 22:21:02 812

原创 MySq体系结构

MySq体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的:1 Connectors指的是不同语言中与SQL的交互max_connections:就是整个MySQL实例的最大连接数限制max_user_connections:是单个用户的最大连接数,这里未指明是哪个用户,是任意一个用户。2 Management Serveices & Ut

2016-12-18 14:29:44 424

原创 说说自己最近的一点想法

今天,简单说一下自己的这两天的一点想法吧。1、关于技术这两天,公司里举办了一系列分享活动。可能是年终了吧,绩效考核的一项内容吧。今天下午,我参加了一个分享,分享的内容是关于openJDK的。简单说一下自己的感想吧。首先,这个名词我之前从未听过。作为一个技术人员,也做了多年的Java开发,竟然别人都早玩得转的东西,自己竟然闻所未闻。说起来听吓人的。其次,他分享了从openJD

2016-12-17 00:14:12 242

原创 Java String 面试总结

1、String类型特点        String是封装数据类型,String类是final类,它是不可变的,不能被继承。2、String s=”Hello”;s=s+”world!”;这两句代码执行后,原始的String对象中的内容变没?        没有,因为String被设计成为不可变类,不能修改,继承,代码执行后,s所指向的对象”hello”没有改变.不过s

2016-10-18 00:30:30 295

原创 三年了,一些反思

13年7月份,z5来到只身来到北京,到现在已经三年了。今年7月份,我到了第三家公司——北京九休。第一家公司,我从传统web项目,接触到了移动互联网项目。虽说接触的事件很短,项目最后也没有做成,但那是我第一次接触移动互联网。第二家公司,让我进入移动互联网。自己的项目真正的发布到线上,真正的投入到了市场,真正的对用户进行了服务。期间也融了A轮3000W。无论如何对我自己来说都是一种进步,也

2016-10-15 13:01:21 230

空空如也

空空如也

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

TA关注的人

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