欢迎您光临本小站。希望您在这里可以找到自己想要的信息。。。

 分类:架构&设计模式

LeetCode 刷题指南

LeetCode 刷题指南
虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会。现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 LeetCode。 代码提交曲线 LeetCode 是一个非常棒的 OJ(O...

water 2天前 12℃ 0评论 0喜欢

lucene评分详解

lucene评分详解
Lucene通过计算文档的得分来确定查询结果文档的相似度。如果你希望通过干预Lucene查询来改变查询结果的排序,你就需要对Lucene的得分计算有所理解。 Lucene得分计算公式如下所示: score(q,d)= coord(q,d)·queryNorm(q)·∑( tf(t...

water 1周前 (12-10) 29℃ 0评论 0喜欢

事件驱动编程、消息驱动编程、数据驱动编程

事件驱动编程、消息驱动编程、数据驱动编程
事件驱动 事件驱动机制就是:让驴拉磨,它不拉,你用鞭抽一下,它就开始拉了。然后又停了,你再抽一下,它又继续拉了这叫用“鞭”驱动“驴”拉磨在程序里,程序停止在那不动,你点击一个按钮,它就有反应了,过一会,又没反应了,你再点一下,它又继续运行。这叫用“事件”驱动“程序”运行 0. 基...

water 1个月前 (11-14) 81℃ 0评论 0喜欢

阻塞非阻塞与同步异步的区别解释

阻塞非阻塞与同步异步的区别解释
阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous comm...

water 1个月前 (11-14) 48℃ 0评论 0喜欢

回调函数(callback)是什么?

回调函数(callback)是什么?
什么是回调函数? 我们绕点远路来回答这个问题。 编程分为两类:系统编程(system programming)和应用编程(application programming)。所谓系统编程,简单来说,就是编写库;而应用编程就是利用写好的各种库来编写具某种功用的程序,也就是应用。系统程...

water 1个月前 (11-14) 71℃ 0评论 0喜欢

如何读懂代码

如何读懂代码
我们在写程序时,有不少时间都是在看别人的代码。 例如看小组的代码,看小组整合的守则,若一开始没规划怎么看, 就会看得云山雾罩不知其所然。 不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限的时间下,不免会对庞大的源代码解读感到压力。 以下来介绍一下读代码的心法: ...

water 2个月前 (10-10) 93℃ 0评论 0喜欢

5分钟了解swagger

5分钟了解swagger
随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger就是一款让你...

water 5个月前 (07-20) 239℃ 0评论 0喜欢

git 添加 gitignore 规则无效

git 添加 gitignore 规则无效
正常情况 如果在项目开始的时候配置了.gitignore文件,对一些文件进行忽略。 进行版本控制的时候就会忽略对这些文件的跟踪,这是正常情况。 特殊情况 但是有一种情况是,项目开始的时候 没有将一些无关文件配置进 .gitignore里面。导致文件已经进行跟踪了,但是目...

water 6个月前 (06-29) 214℃ 0评论 0喜欢

Redis、SSDB、Memcache和MongoDB的区别

Redis、SSDB、Memcache和MongoDB的区别
摘要: Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。 1.Memcached Memcached的优点:Memcached可以利用多核优势,...

water 7个月前 (06-01) 376℃ 0评论 0喜欢

云搜索相关功能设置整理

云搜索相关功能设置整理
云搜索系统设置 1. 应用基本信息(名称、备注) 2. 数据存储量 (对应需要多少主分片) 3. 吞吐量tps (对应需要多少副本) 4. 数据源(topic、tag) 5. 定义应用结构(template) 6. 索引字段(倒排字段,用于query)及属性字段(正排字段用于过滤...

water 7个月前 (05-25) 296℃ 0评论 0喜欢

Solr vs. Elasticsearch谁是开源搜索引擎王者

Solr vs. Elasticsearch谁是开源搜索引擎王者
Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。 它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。 Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,...

water 7个月前 (05-09) 401℃ 0评论 1喜欢

分布式搜索和分析引擎对比

分布式搜索和分析引擎对比
当前是云计算和数据快速增长的时代,今天的应用程序正以PB级和ZB级的速度生产数据,但人们依然在不停的追求更高更快的性能需求。随着数据的堆积,如何快速有效的搜索这些数据,成为对后端服务的挑战。本文,我们将比较业界两个最流行的开源搜索引擎,Solr和ElasticSearch。两者都...

water 7个月前 (05-09) 451℃ 0评论 0喜欢

分布式协议gossip介绍

分布式协议gossip介绍
分布式系统中,即便是一个小型的集群,也需要通过一个机制来维护各个节点或服务的状态一致性和数据一致性。zab、paxos是使用较早的协议,后来出现了RAFT协议,这些主要通过RPC的机制进行节点连接,因此主要用于局域网或数据中心内部。Gossip(意:八卦、流言)支持p2p协议,是...

water 7个月前 (05-09) 499℃ 0评论 0喜欢

画流程图,选Visio还是选亿图Edraw?

画流程图,选Visio还是选亿图Edraw?
产品经理工作中,画流程图是必经的一环。对于工具狂魔来说,和介于产品经理的通病,只要能画流程图的工具,总想体验一番。 我用过的流程图工具有Visio、MindManager、亿图图示专家(Edraw Max)、PPT、Axure等。 首先,用Axure画流程图,对我来说,真废时间啊...

water 8个月前 (05-07) 555℃ 0评论 0喜欢

ServiceComb和目前火热的SpringCloud、Dubbo相比较

ServiceComb和目前火热的SpringCloud、Dubbo相比较
首先ServiceComb基于华为内部的CSE(Cloud Service Engine)框架开源而来,这个框架在华为内部已经存在了2年多,支撑了多个大型的商业项目。有相对传统的企业级项目,也有类似手机应用这样的互联网属性比较强的项目。并且在成为整个华为公司统一的微服务标准框架...

water 11个月前 (01-25) 4541℃ 0评论 10喜欢

让你的数据库流动起来 – 利用MySQL Binlog实现流式实时分析架构

让你的数据库流动起来 – 利用MySQL Binlog实现流式实时分析架构
数据分析特别是实时数据分析,已经越来越多的成为各行各业的分析要求与标准 – 例如,(新)零售行业可能希望通过­­线下POS数据与实时门店客流流量的进行实时结合与分析,实现商品销售,销量,总类等等的实时预测; 在线广告平台期望通过广告(Impression)总类,数据量以及基于时...

water 12个月前 (12-28) 1562℃ 0评论 1喜欢

大规模分布式存储系统原理与架构(四)

大规模分布式存储系统原理与架构(四)
分布式系统: 木桶效应,架构设计之初要求我们能够估算系统的性能从而权衡不同的设计方法 分布式系统面临的第一个问题就是数据分布,即将数据均匀地分不到多个存储节点。另外,为了保证可靠性和可用性,需要将数据复制多个副本,这就带来了多个副本之间的数据一致性问题。大规模分布式存储系统的重要...

water 1年前 (2017-09-21) 687℃ 0评论 0喜欢

Apollo配置中心介绍

Apollo配置中心介绍
1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满...

water 1年前 (2017-09-19) 765℃ 0评论 0喜欢