自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

燕窝

金丝燕的窝

  • 博客(503)
  • 资源 (13)
  • 论坛 (5)
  • 收藏
  • 关注

原创 DDD-架构(分层/六边形/RESTful)

https://www.jianshu.com/p/c405aa19a049

2020-07-08 01:02:46 338

原创 对称/非对称加解密

对称加解密:需要对加密和解密使用相同密钥的加密算法。由于其速度快,对称性加密通常在消息发送方需要加密大量数据时使用。对称性加密也称为密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。常用算法在对称加密算法中常用的算法有:DES、3D.

2020-07-07 11:43:07 101

原创 作为架构师,如何画好架构图

架构图本文章用于搜集较为成熟和具有参考价值的架构图模型、文章以及最佳实践。C4 模型C4 模型中的 C4,代表上下文(Context)、容器(Container)、组件(Component)和代码(Code),即一系列分层的图表,可以用这些图表来描述不同缩放级别的软件架构,每种图表都适用于不同的受众。具体可参考:https://c4model.com/。相关的简单介绍:用于软件架构的 C4 模型The C4 Model for Softwar...

2020-07-01 15:05:16 61

转载 新一代 CI 持续集成工具 flow.ci 正式开源

官方网站:https://flow.ci开源地址:https://github.com/flowci以此,你可以将功能完整的 flow.ci 持续集成服务部署到内网使用。在使用过程中有任何 bug 反馈或功能建议,可直接在 github 提 issues,或者通过 pull request 贡献代码。关于 flow.ci 新特性支持 Docker 一键部署,分分钟创建一套CI系统flow.ci 在 Docker Hub 上提供了最新的镜像,用户可以方便地获取 Docker 镜像,快速.

2020-07-01 14:45:43 86

原创 架构图最佳实践

架构图本文章用于搜集较为成熟和具有参考价值的架构图模型、文章以及最佳实践。C4 模型C4 模型中的 C4,代表上下文(Context)、容器(Container)、组件(Component)和代码(Code),即一系列分层的图表,可以用这些图表来描述不同缩放级别的软件架构,每种图表都适用于不同的受众。具体可参考:https://c4model.com/。相关的简单介绍:用于软件架构的 C4 模型The C4 Model for Softwar...

2020-07-01 14:42:08 80

原创 代码设计几大原则

开闭原则单一职责依赖倒置最少知识里氏替换接口隔离组合/聚合复用

2020-06-28 17:29:03 84

原创 异地多活

1、 是不是需要:核心系统才考虑多活,非核心不需要。2、 实时一致性:多活机房物理距离尽量比较短 减少需要同步的数据 保证最终一致性,不保证实时一致性3、实现方案: 避免直接使用用中间件的方案如mysql、redis等,虽然有现成方案,但是也有先天不足,不建议直接使用。 可以参考其原理,根据业务场景,另起炉灶,这样有问题(如同步出错/延迟)可以进行干预4、100%可用性放弃这种想法,...

2020-06-28 15:17:40 57

原创 分布式架构原理解析

1. 分布式术语1.1. 异常服务器宕机内存错误、服务器停电等都会导致服务器宕机,此时节点无法正常工作,称为不可用。服务器宕机会导致节点失去所有内存信息,因此需要将内存信息保存到持久化介质上。网络异常有一种特殊的网络异常称为——网络分区 ,即集群的所有节点被划分为多个区域,每个区域内部可以通信,但是区域之间无法通信。磁盘故障磁盘故障是一种发生概率很高的异常。使用冗余机制,将数据存储到多台服务器。1.2. 超时在分布式系统中,一个请求除了成功和失败两种状态,还存在着

2020-06-16 17:21:45 101

转载 跳表(SkipList)数据结构介绍

使用场景跳表(Skiplist)是一个特殊的链表,相比一般的链表,有更高的查找效率,可比拟二叉查找树,平均期望的查找、插入、删除时间复杂度都是O(logn),许多知名的开源软件(库)中的数据结构均采用了跳表这种数据结构。Redis中的有序集合zset LevelDB、RocksDB、HBase中Memtable ApacheLucene中的TermDictionary、Posting List跳表结构描述跳表可视为水平排列(Level)、垂直排列(Tower)的位置(Position,对E

2020-06-08 14:59:37 115

转载 饿了么异地多活技术实现(四)- 实时双向复制工具(DRC)

DRC介绍饿了么的 Data Replicate Center(DRC)项目用于数据双向复制和数据订阅,使用场景如下图:要点说明:跨机房的 Mysql 数据复制完全通过 DRC 来完成 还有很多业务团队通过 DRC 来实现数据订阅目前饿了么100%的跨机房数据复制,90%的数据订阅都通过DRC完成,每天有大量的数据流经DRC。复制延迟保持在1s以下,从来没有发生过数据丢失和错乱的情况。DRC的设计目标包括:实时双向数据复制,延时 < 1s ,并能够解决双向修改时的数据.

2020-06-08 11:57:27 100

转载 饿了么异地多活技术实现(三)GZS&DAL

饿了么技术团队花了1年多的时间,实现了业务的整体异地多活,能够灵活的在多个异地机房之间调度用户,实现了自由扩容和多机房容灾的目标。本文介绍这个项目的中五大核心基础组件中的DAL与GZS,关于项目整体介绍以及其它组件的实现细节可以参考本系列的其它文章。GZS (Global Zone Service:全局状态协调器)背景多活改造的一个核心是多活流量路由,来源主要包括三个方面:从ezone外部发起的请求。比如用户下订单,商户添加菜品等等。这个部分的请求由API Router路由到正确的ez.

2020-06-08 11:49:17 93

转载 饿了么异地多活技术实现(二)API-Router的设计与实现

背景:饿了么随着业务量的增长,单个数据中心的容量无法支撑全部流量,同时传统机房冷备份方式的缺陷,促使饿了么异地多活应运而生;而作为多活重要组件之一的API-Router,扮演着客户端入口流量到后端机房路由的重要角色,当一个机房出现故障甚至宕机,可以实现机房快速切换。设计目标:1、入口流量可以根据sharding key规则路由到对应的机房(准确的说是ezone);2、配合机房切换规则,能实现流量的转移;3、尽可能的实现高性能、高可用、高并发,保护后端服务、削峰填谷;前两点,主要.

2020-06-08 11:02:38 84

转载 ng的upstream模块

upstream模块 (100%)nginx模块一般被分成三大类:handler、filter和upstream。前面的章节中,读者已经了解了handler、filter。利用这两类模块,可以使nginx轻松完成任何单机工作。而本章介绍的upstream模块,将使nginx跨越单机的限制,完成网络数据的接收、处理和转发。数据转发功能,为nginx提供了跨越单机的横向处理能力,使nginx摆脱只能为终端节点提供单一功能的限制,而使它具备了网路应用级别的拆分、封装和整合的战略功能。在云模型大行其道的今天

2020-06-08 11:00:19 211

原创 我读过的最好的epoll讲解--转自”知乎“

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来),这时候该怎么办?阻塞:阻塞是个什么概念呢?比如某个时候你在等快递...

2020-06-08 10:57:34 58

原创 反向代理和正向代理

基本概念拾起来(1)正向代理和代理服务器正向代理即通常所说的代理,用于代表内部网络用户向Internet上的服务器(或称外部服务器,通常为Web服务器)发出连接请求,并接收响应结果,执行该代理功能的服务器称为代理服务器。使用代理服务器访问外部网络时,客户端必须在局域网设置中指明代理服务器的地址以及要代理的服务的端口号。(2)反向代理和代理服务器反向代理的方向与正向代理相反,指代表外部网络用户向内部服务器发出请求,即接收来自Internet上用户的连接请求,并将这些请求转发给内部网络上的服务器

2020-06-08 10:53:35 42

转载 DRC实践

DRC简介DRC(Data Replication Center)是我在阿里听过的一个概念,它的业务域是支持异构数据库实时同步,数据记录变更订阅服务。为跨域实时同步、实时增量分发、异地双活、分库分表等场景提供产品级的解决方案。支持异地多活、大数据实时抽取、搜索实时更新数据、数据表结构重构、多视图数据存储、大屏实时刷新等。DRC在阿里服务了数万个实时通道,已经成为阿里的基础设施,重要性不言而喻。DRC需要保障数据库的事务一致性,包括DDL(表结构变更)也可以进行同步或过滤。而DBA天生就在这个坑里,绝对

2020-06-08 10:49:42 125

转载 饿了么异地多活技术实现(一)总体介绍

https://zhuanlan.zhihu.com/p/32587960背景:饿了么随着业务量的增长,单个数据中心的容量无法支撑全部流量,同时传统机房冷备份方式的缺陷,促使饿了么异地多活应运而生;而作为多活重要组件之一的API-Router,扮演着客户端入口流量到后端机房路由的重要角色,当一个机房出现故障甚至宕机,可以实现机房快速切换。设计目标:1、入口流量可以根据sharding key规则路由到对应的机房(准确的说是ezone);2、配合机房切换规则,能实现流量的转移;3.

2020-06-08 10:47:56 165

原创 CSDN你能不能少一点广告

各种广告是把自己做烂的节奏吗。。

2019-07-29 11:26:46 89

原创 Eureka 和 ZooKeeper 有哪些区别

区别不多,主要是理念不一样根据互联网架构的CAP原则,最多满足2个,或者AP、CP或者AC。Eureka选择了AP作为出发点,而zk选择了CP作为出发点。其他区别细节基本都是围绕这两点展开。...

2019-07-29 10:49:40 84

原创 Windows10家庭版安装Docker Desktop(非Docker Toolbox)

首先需要虚拟化:https://www.ithome.com/html/win10/374942.htm安装参照如下链接:https://www.jianshu.com/p/1329954aa329

2019-07-26 18:43:45 794

原创 互联网平台几个业务考核参数

DAU(Daily Active User)日活跃用户数量。常用于反映网站、互联网应用或网络游戏的运营情况。 MAU(monthly active users)月活跃用户人数。是在线游戏的一个用户数量统计名词,数量越大意味着玩这款游戏的人越多。 PCU(Peak concurrent users )最高同时在线玩家人数。 DNU日新增用户 WAU是周活跃用户数量 ACU (Average...

2019-03-14 12:57:52 602

原创 PAXOS算法的理解

1.分布式系统定义分布式系统是这样一种系统,它的各个组件分布在联网的若干台计算机上,通过传递消息进行相互通信和协同工作。特点并发性:在没有协同的情况下,组件各自行事。没有全局时钟:目前的时间同步精度不够。故障无处不在:总是会发生各种各样的故障。2.Paxos算法解决的问题是分布式系统如何对一个问题达成共识。3.Paxos算法中的角色

2018-01-25 14:31:13 275

转载 分布式一致性算法--Paxos

Paxos算法是莱斯利·兰伯特(Leslie Lamport)1990年提出的一种基于消息传递的一致性算法。Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。在工程实践意义上来说,就是可以通过Paxos实现多副本一致性,分布式锁,名字管理,序列号分配等。比如,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证

2018-01-25 14:10:44 251

原创 区块链技术会不会塌方

撇开比特币不说,很久以前看过一段时间区块链,其理论基础都是基于各种算法、协议等等。会不会某天由于某个算法未知的缺陷,导致整个体系的崩溃?

2018-01-25 10:54:43 320 3

转载 分析 HTTPS 原理以及在 Android 中的使用

导读本文首先分析HTTP协议在安全性上的不足,进而阐述HTTPS实现安全通信的关键技术点和原理。然后通过抓包分析HTTPS协议的握手以及通信过程。最后总结一下自己在开发过程中遇到的HTTPS相关的问题,并给出当前项目中对HTTPS问题的系统解决方案,以供总结和分享。1.HTTP协议的不足HTTP1.x在传输数据时,所有传输的内容都是明文,客户端和服务器端都无法验证对

2017-12-19 13:18:43 280

原创 JVM server client参数使用

从JDK5开始,java在启动的时候 ,已经可以是判断当前系统是否是一个Server,从而决定是使用server 的jvm还是client的jvm。当然了,如果你强制指定了-server 或者-client就按照指定的运行,否则,系统会自动判断。如果没有指定,那么默认的行为如下:PlatformDefault VMArchitec

2017-07-27 10:08:14 2232

原创 jekins搭建小窍门

1、 nohub java -jar jenkins.war --httpPort=8081  > jenkins.log

2017-07-26 15:45:44 371

原创 java码农技术体系总结

最近朋友转做hr,负责招聘java相关职位。也算是复习吧,整理了一下作为java码农需要掌握或者相关的技术。xmind脑图:

2017-06-24 14:23:13 370

转载 推荐10个易上手好用的H5网页编辑工具

2014年,HTML5页面作为营销界新宠儿,“多快好省”的杰出代表,其灵活性高、开发成本低且制作周期短的种种特性使其在移动营销领域大放异彩。文/Teeya此前,介绍了HTML5网页的基础知识、有哪些应用场景以及如何推广,反响强烈,不少品友都来询问HTML5页面的制作工具。对于这个问题,我只想说请去学编程写代码吧!!!HTML5 + C

2017-06-24 14:21:03 28914 4

转载 hadoop 单机安装与部署

说明:安装hadoop首先要安装java 然后再安装hadoop安装JAVA。解压cd /usr/local tar -zxvf jdk-7u25-linux-x64.gz 2.配置/etc/profile  vi /etc/profile#set java environmentJAVA_HOME=/usr/

2017-06-24 14:20:02 1324

原创 如何看待研发管理

工作马上10年了,研发管理=研发人员管理。

2017-06-24 14:18:35 398 1

原创 Elasticsearch基础教程之常用命令(接口)

探索你的集群 rest接口                现在我们已经有一个正常运行的节点(和集群)了,下一步就是要去理解怎样与其通信了。幸运的是,Elasticsearch提供了非常全面和强大的REST API,利用这个REST API你可以同你的集群交互。下面是利用这个API,可以做的几件事情:                    - 检查你的集群、节点和索引的健康状态、

2017-06-24 14:17:10 470

原创 艹!blog又被封了

什么垃圾系统账号一会被盗blog一会被封如果不是因为懒,早换地方了垃圾

2017-06-24 14:03:06 468

原创 Lombok—消除样板代码

样板代码。。

2017-03-30 09:36:43 276

原创 Spring-profile的好处

代码和环境融合在一起,好处是什么?不同的环境还需要定义不同的bean,岂不是重复?如果在配置文件中,只要改一下参数,java程序则不需要任何修改。

2017-03-30 09:36:00 405

原创 HATEOAS原则

HATEOAS

2017-03-30 08:08:50 2238

转载 高效运维之Redis集群技术及Codis实践

这篇是《中生代》转载的一个关于运维的文章。作者是触控科技运维总监萧田国。文章在运维圈子流传甚广。特别也发在社区,分享给感兴趣的朋友。前言诚如开篇文章所言,高效运维包括管理的专业化和技术的专业化。前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化。希望读者朋友们能适应这个转换,谢谢。互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍。在

2017-03-02 23:03:30 361

原创 什么垃圾系统

密码一会被盗一会404密码cookie也记不住擦还技术网站完全没落了!!!

2017-03-02 22:57:45 372

原创 竟然被盗号了

本来想写点东西的,结果提示已经被屏蔽投诉了下,说呗盗号了。。。csdn是有多弱啊

2017-02-24 16:34:25 410

转载 关于小程序

2016-12-28 11:23:21 438

高效程序员的45个习惯

高效程序员的45个习惯, 敏捷相关的,韩式蛮好的

2010-07-27

软件架构师应该知道的97件事

软件架构师应该知道的97件事 软件架构师应该知道的97件事

2010-07-27

代码之美-pdf-非扫描

代码之美-pdf,非扫描版,可以看看哦 代码之美-pdf,非扫描版,可以看看哦

2010-07-27

《算法概论》.xmind

算法

2020-06-11

java码农技术体系

java码农技术体系归类总结

2017-06-24

动态代理的前世今生-绝对经典

经典中的经典 《动态代理的前世今生》 找了好久才找到的资料

2009-09-24

GUI设计禁忌(英文版).

GUI设计禁忌(英文版)GUI设计禁忌(英文版)

2009-09-11

Better Builds With Maven

Better Builds With Maven

2009-09-11

thinking in patterns(中文).pdf

深入浅出设计模式(英文) http://www.china-pub.com/27862

2009-02-02

面试资料-面试常用的问题

面试经常被问到的问题 和具体的技术和行业无关的问题

2008-11-09

程序员面试宝典扫描版

程序员面试宝典扫面板 面试的程序员们可以参考下

2008-11-09

编程高手箴言

编程高手箴言<br>有时间多看看啦:)

2007-08-09

Manning.Java.Persistence.with.Hibernate.Nov.2006

Manning.Java.Persistence.with.Hibernate.Nov.2006

2007-07-05

不能飞的肥燕的留言板

发表于 2020-01-02 最后回复 2020-01-02

帮我推荐个工作吧

发表于 2010-08-11 最后回复 2010-08-12

[已处理] blog的分类管理能否引入子类别

发表于 2010-07-28 最后回复 2010-07-29

[已处理] !!!您访问的用户已被屏蔽

发表于 2010-07-23 最后回复 2010-07-26

请问:dom解析的子节点顺序何文件中节点的顺序一样吗

发表于 2007-07-02 最后回复 2007-07-27

空空如也

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

TA关注的人 TA的粉丝

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