自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

转载 利用EventSource对象实现服务器推送

普通轮询 客户端的每一个请求都是基于XmlHttpRequest异步请求对象。客户端每隔s秒之后,请求一次服务器端,然后客户端对服务器端的数据进行解析和渲染。客户端不断对服务器端进行请求(轮询),不管有没有数据,都必须进行返回。这样的方式固然有优势,但是缺点就是:造成服务器的压力...

2017-11-30 00:52:00 1628

转载 微服务部署:蓝绿部署、滚动部署、灰度发布、金丝雀发布

在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 蓝绿布署(Blue/Green Deployment) 1、定义 蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本...

2017-10-17 13:05:00 161

转载 命令和查询职责分离(CQRS)模式

什么是 CQRS CQRS 意思就是命令查询职责分离(Command Query Responsibility Segregation)。很多人认为 CQRS 是一个完整的架构,但是他们错了。它只是一个小小的模式。Greg Young 和 Udi Dahan 首先介绍了这种模式。他们是从...

2017-10-06 14:36:00 629

转载 从三层架构迈向领域驱动设计(学习笔记)

三层架构 严格分层架构模式的特点是上层只能访问相邻的下层,其他层次间的调用都不允许。三层架构就是一种严格分层模式,它把职责划分为界面展示、业务逻辑、数据访问三层,还有一个业务实体,前面三层都要依赖它,所以它并不构成一个层。 三层架构的特点是一种面向过程的编程思想,特点如下...

2017-09-20 00:51:00 454

转载 时序图里的Common Operators for Interaction Frames(附加翻译)

Common Operators for Interaction Frames Operator Meaning alt 替代多个片段;只有条件为真的才会执行。 Alternative multiple ...

2017-09-17 22:41:00 330

转载 Docker原理:我不是虚拟机,我是资源限制和NS隔离

从 传统部署 到Docker容器部署。 Docker的原理 LXC,Linux原生支持的容器,追溯到2009年,源于cgroup(资源限制)和namespaces(NS隔离)在Linux内核方面的发展。 Linux Container容器是一种内核虚拟化技术,可...

2017-09-13 23:43:00 267

转载 静下心来,想想为什么领域模型对于架构师如此重要?(学习笔记)

做任何一个软件系统,都是有原因的,都是要解决特定的问题。 通过问题,我们就知道了我们需要一个什么样的系统,这个系统解决了什么样的问题。 两个概念: “问题空间(Problem Space)”和“解决方案空间(Solution Space)” 问题空间,就是当前环...

2017-09-08 22:20:00 269

转载 Java的final方法与Java的内联函数

final方法 《java编程思想》中讲到final方法时提到,使用final方法原因有两个, 一、锁定方法。防止任何继承类修改、覆盖 二、效率。在java早期实现中,如果将一个方法指明为final,就是同意编译器将针对该方法的调用都转化为内嵌调用。 如果是内嵌调用,虚拟机不再执行正...

2017-09-03 23:29:00 498

转载 Java 远程调试原理(学习笔记)

Java远程调试的原理 JDWP(Java Debug Wire Protocol) 两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。 其中,调试的程序常常被称为debugger, 而被调试的程序称为debuggee。 ...

2017-08-29 01:34:00 701

转载 VLAN原理详解(学习笔记)

VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。 广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信...

2017-08-24 01:21:00 328

转载 各个Java场景下的内存图(学习笔记)

Java内存模型图,如下: 各个区域的作用: 1:程序计数器(Program Counter Register),让虚拟机中的字节码解释器通过改变计数器的值来获取下一条代码指令,比如分支、循环、跳转、异常处理、线程恢复等; 2:Java 虚拟机栈(Java Virtual Ma...

2017-08-20 16:52:00 119

转载 Docker镜像相关命令(学习笔记)

Docker镜像相关命令 镜像查看 #sudo docker images//在本机进行镜像查看#sudo docker inspect镜像ID //查看单个镜像的具体信息,以JSON格式返回 获取镜像 # sudo docker pull centos //从...

2017-08-18 00:26:00 71

转载 ETCD轮换使用场景与工作原理(学习笔记)

ETCD使用案例 据公开资料显示,至少有CoreOS, Google Kubernetes(K8S), Cloud Foundry, 以及在Github上超过500个项目在使用ETCD。 ETCD是什么 etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。e...

2017-08-14 01:01:00 319

转载 Mongo之ObjectId原理(学习笔记)

ObjectId ObjectId 是"_id" 的默认类型。它设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。这时MongoDB 采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因。 MongoDB 从一开始就设计用来作为分布...

2017-08-14 00:40:00 394

转载 Java使用InetAddress类获取主机名和IP地址(学习笔记)

Java提供一系列的类支持Java程序访问网络资源。Java.net包中有InetAddress类的定义,InetAddress类的对象用于IP地址和域名。它代表了一个网络目标地址,包括主机名和数字类型的地址信息。该类有两个子类,Inet4Address和Inet6Address,分别对应了目...

2017-08-14 00:28:00 4046

转载 Spring定时任务(学习笔记)

一、Spring-Task Spring3.0以后自主开发的定时任务工具,spring task,可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包,而且支持注解和配置文件两种形式。 spring配置文件头中添加命名空间及描述 &lt...

2017-08-03 00:36:00 97

转载 Git LFS(学习笔记)

Git大文件储存 LFS LFS(Large File Storage) 查询资料了解到,GitHub在2015年中推出了Git大文件储存LFS,相继GitLab在2015年末也宣布支持了LFS。 开发者可以通过Git LFS支持大文件存储,它支持大的二进制文件,例如音频采...

2017-07-27 01:30:00 899

转载 网易考拉海购Dubbok框架优化详解(学习笔记)

微服务化是当前电商产品演化的必然趋势,网易考拉海购通过微服务化打破了业务爆发增长的架构瓶颈。 微服务选型要评估以下几点: 内部是否存在异构系统集成的问题; 备选框架功能特性是否满足需求; http协议的通信对于应用的负载量会否真正成为瓶颈; 跨进程的远...

2017-07-22 01:32:00 156

转载 Java Code Review清单

整洁的代码 清单项目 分类 使用可以表达实际意图(Intention-Revealing)的名称 有意义的名称 每一个概念只用一个词 有意义的名称 使用方案...

2017-07-20 22:17:00 149

转载 Java架构师第十四步——HTML 5 Web 存储(读书笔记)

在客户端存储数据 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localS...

2017-07-19 23:10:00 79

转载 Java架构师第十四步——Cookie机制,以及与Session的区别(读书笔记)

Cookie是什么 Cookie意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie。 由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道...

2017-07-19 01:27:00 78

转载 Java架构师第十四步——Session的生命周期(读书笔记)

Session生命周期 Session中的数据保存在服务器端,在客户端需要的时候创建Session,在客户端不需要的时候销毁Session,使它不再占用服务器内存。前面说了服务器并不管客户端是否依然存在,因而它也无法确定客户端什么时间不再使用它,但是如果在客户端不再用的时候不及时销...

2017-07-18 08:46:00 83

转载 Java单元测试框架(学习笔记)

概念 单元测试(unit testing),指对代码的最小可测试单元进行检查和验证 UT的目的 验证代码的正确性 修改后并提交是进行验证 验证代码设计是否合理 桩 什么是桩 桩代码(stub),是指用来代替关联代码或者未实现代码的代码。 如果函数B用B1...

2017-07-12 00:58:00 159

转载 Java架构师第十三步——DB的主从复制架构(读书笔记)

MySQL DB支持的主从复制 复制解决的问题 (1) 数据分布 (Data distribution ) (2) 负载平衡(load balancing) (3) 备份(Backups) (4) 高可用性和容错行 High availability ...

2017-07-11 00:32:00 102

转载 Java架构师第十二步——缓存设计实践(读书笔记)

缓存设计实践 裸缓存资源的方式暴露出来一些问题: 缓存资源变更复杂度高   节点变更、扩缩容需要业务方变更配置重新上线,而且资源变更过程中业务方密切关注缓存的服务状况。 高可用策略无法复用 运维复杂度高   缺少简单友好的统一运维管理平台负责缓...

2017-07-08 00:21:00 262

转载 Java架构师第十二步——架构中的缓存架构(读书笔记)

缓存   缓存在wiki上的定义:用于存储数据的硬件或软件的组成部分,以使得后续更快访问相应的数据。缓存中的数据可能是提前计算好的结果、数据的副本等。典型的应用场景:有cpu cache, 磁盘cache等。本文中提及到缓存主要是指互联网应用中所使用的缓存组件。 为什么引入缓存   传统...

2017-07-06 22:22:00 112

转载 Java架构师第十一步——淘宝双11的消息中间件(读书笔记)

Notify Notify是淘宝自主研发的一套消息服务引擎,是支撑双11最为核心的系统之一,在淘宝和支付宝的核心交易场景中都有大量使用。消息系统的核心作用就是三点:解耦,异步和并行。下面让我以一个实际的例子来说明一下解耦异步和并行分别所代表的具体意义吧: 假设我们有这么一个应用场景,为了...

2017-07-06 01:09:00 156

转载 Java架构师第十一步——消息队列中间件技术(读书笔记)

消息队列 消息中间件是一种由消息传送机制或消息队列模式组成的中间件技术,利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。目前业界有很多的MQ产品,像RabbitMQ、ActiveMQ、ZeroMQ、kafka等都是极好的消息中间件。 消息队列解决的...

2017-07-05 01:10:00 271

转载 Java架构师第十步——异步处理架构(读书笔记)

异步服务器框架设计思路 方法一:抽象状态。利用“状态 <=> 回调函数 映射表”实现各种状态和动作间的转换关系。这种方法并不好,原因在于全局状态过多,不利于抽象。 方法二:State模式。封装每一个网络调用成Context(维护每个调用自身的状态),每个Context拥有如下...

2017-07-01 00:53:00 280

转载 Dockerfiles介绍与编写实例

基础镜像可以用于创建Docker容器。镜像可以非常基础,仅仅包含操作系统;也可以非常丰富,包含灵巧的应用栈,随时可以发 布。当你在使用Docker构建镜像的时候,每一个命令都会在前一个命令的基础上形成一个新层。这些基础镜像可以用于创建新的容器。本篇文章将手把手教您 如何从基础镜像,一步一步,一...

2017-06-29 23:42:00 122

转载 Java架构师第九步——非关系型数据库枚举(读书笔记)

目前主流的NoSQL数据库 1. Redis 1.1 介绍 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始...

2017-06-28 23:13:00 107

转载 Java架构师第九步——非关系型数据库与公司的最佳实践(读书笔记)

NoSQL优秀公司的最佳实践 1. 新浪微博 - Redis 新浪微博从技术上来说,每天用户发表微博特别容易,这造成每天新增的数据量都是百万级、上千万级的这样一个量。经常要面对的一个问题就是增加服务器,因为一般一台MySQL服务器,它可能支撑的规模也就是几千万,或者说复杂一点只有几百万...

2017-06-28 23:13:00 286

转载 Java架构师第八步——负载均衡与集群(读书笔记)

集群术语 1. 集群(Cluster) 用N台服务器构成一个松耦合的多处理器系统(对外来说,他们就是一个服务器),它们之间通过网络实现通信。让N台服务器之间相互协作,共同承载一个网站的请求压力。 2. 高可用(HA) 在集群服务器架构中,当主服务器故障时,备份服务器能够自动接管主...

2017-06-23 22:49:00 117

转载 Java架构师第八步——负载均衡工作原理(读书笔记)

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

2017-06-23 00:21:00 127

转载 Java架构师第七步——反向代理工作原理(读书笔记)

反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。 通常的代理服务器,只用于...

2017-06-22 01:25:00 174

转载 Java架构师第六步——HTTPS协议详解(读书笔记)

HTTPS 原理介绍 内容加密 加密算法一般分为两种,对称加密和非对称加密。所谓对称加密(也叫密钥加密)就是指加密和解密使用的是相同的密钥。而非对称加密(也叫公钥加密)就是指加密和解密使用了不同的密钥。 非对称加密: 对称内容加密强度非常高,一般破解不了。但存在一个...

2017-06-21 00:36:00 132

转载 Java架构师第五步——HTTP协议详解,HTTP安全(二)(读书笔记)

HTTP安全 HTTP协议是不安全的,如果没有SSL做底层支持,用HTTP Basic Authentication很容易让攻击者监听并获取到用户名和密码的信息。有人说用Base64做encode,这是没用的,攻击者获取到用户名密码后用Base64来decode一下就好了,那么为什么大多数...

2017-06-19 01:28:00 84

转载 Java架构师第五步——HTTP协议详解(读书笔记)

HTTP(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的...

2017-06-17 22:28:00 128

转载 Java架构师第四步——集合对象的实现原理(读书笔记)

Java集合是用来存放对象,那么它是如何存放,它的原理是什么?作为一名Java开发工程师,这些原理都是否真的了解? Java的集合框架可以理解为数据结构,它的内容主要是栈、队列、Hash表等存放的内容。 因此集合则可以理解为是一种存储对象的容器,使用Java集合框架的算法原理进行...

2017-06-16 23:08:00 113

转载 Java架构师第三步——Java反射(读书笔记)

Java反射机制是在运行状态(Runtime)中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法,获取它的成员变量;这种动态获取的信息以及动态调用对象的方法的功能称为Java语言的反射机制。 包名: java.lang.reflect....

2017-06-15 22:13:00 123

空空如也

空空如也

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

TA关注的人

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