什么是跨域?
跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
广义的跨域:
|
|
其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。
阅读全文…跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。
广义的跨域:
|
|
其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。
阅读全文…Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢?
Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就是Paxos,其它的算法都是残次品。
理解了这两个分布式协议之后(Paxos/2PC),学习其他分布式协议会变得相当容易。
学习Paxos算法有两部分:a) 算法的原理/证明;b) 算法的理解/运作。
理解这个算法的运作过程其实基本就可以用于工程实践。而且理解这个过程相对来说也容易得多。
网上我觉得讲Paxos讲的好的属于这篇:paxos图解及Paxos算法详解,我这里就结合wiki上的实例进一步阐述。一些paxos基础通过这里提到的两篇文章,以及wiki上的内容基本可以理解。
阅读全文…说起 Kafka 的第一个突出特定就是“快”,而且是那种变态的“快”。据最新的数据:每天利用 Kafka 处理的消息超过1万亿条,在峰值时每秒钟会发布超过百万条消息,就算是在内存和 CPU 都不高的情况下,Kafka 的速度最高可以达到每秒十万条数据,并且还能持久化存储。那么,Kafka 是如何做到的呢?
阅读全文…分布式消息系统 Kafka
授权协议:Apache
开发语言:Scala
操作系统:跨平台
开发厂商:Apache
Github:https://github.com/apache/kafka ★6120
本次做了一个关于Wade5+Tapertry3的快速开发,开发环境为Eclipse+Windows10,功能为一个部门管理的增删改查。下面是一个关于本项目的数据传输结构图。
下图为本项目的目录结构。
阅读全文…因为了解和喜欢 Java 社区,所以尽管很少有人将 NoSQL 与某种语言绑在一起,我也要为全世界的 Java 开发者写下这篇文章。文中,我将为你展示几种 NoSQL 数据库。之后,我将根据实际在 Github stars 和 Stack Overflow tags 的项目中的使用情况,选出最常用的五个。并且我会让你知道它们是否支持 Spring Data 和 SpringBoot。
NoSQL 数据库帮助许多互联网公司通过最终一致性实现高可拓展性。因为 NoSQL 数据库通常分布在多台机器上,而且有一些延迟,所以它只保证所有的实例最终都是一致的。最终一致性服务通常被称为 BASE(基本可用,软状态,最终一致性)服务,这点与传统的 ACID 正好相反。
定义前五名可能很困难。最近许多人都在尝试这个。请参考本文结尾处的研究和注释部分。
八月中旬,我在推特上告诉我的粉丝,我正在写这篇文章。我询问了关于 NoSQL 数据库的正面或负面的评述,收到了人们的反馈,其中有希望我涵盖的一些选项。
我收到许多建议,以下按字母顺序列出:
阅读全文…欢迎关注: Lvshen’s Blog
首先我们来先说说HashMap与LinkedHashMap,它们保证了以$O(1)$的时间复杂度进行增、删、改、查,从存储角度考虑,这两种数据结构是非常优秀的。另外,LinkedHashMap还额外地保证了Map的遍历顺序可以与put顺序一致,解决了HashMap本身无序的问题。
尽管如此,HashMap与LinkedHashMap还是有自己的局限性—-它们不具备统计性能,或者说它们的统计性能时间复杂度并不是很好才更准确,所有的统计必须遍历所有Entry,因此时间复杂度为$O(N)$。比如Map的Key有1、2、3、4、5、6、7,我现在要统计:
阅读全文…
- 所有Key比3大的键值对有哪些
- Key最小的和Key最大的是哪两个
计算机的世界每天都在发生着深刻的变化。新操作系统的发布、CPU性能的提升、智能手机和平板电脑的流行、存储介质的变化、云的普及……这样的变化数不胜数。
在这样日新月异的时代中,“算法”是不变的重要基石。要编写高效率的程序,就需要优化算法。无论开发工具如何进化,熟识并能灵活运用算法仍然是对程序员的基本要求。
本文为那些已经学习过排序、搜索等知名算法,并想要学习更多有趣的算法,进一步提升编程技巧的工程师准备了四道数学谜题形式的问题。这四道趣题分入门、初级、中级、高级,四种级别。
程序员都想挑战这四道算法趣题!通过挑战你也可以看到自己大体处于哪个级别。
阅读全文…小明的公司有3个系统: 系统A、系统B和系统C ,这三个系统所做的业务不同,被部署在3个独立的机器上运行, 他们之间互相调用(当然是跨域网络的), 通力合作完成公司的业务流程。
将不同的业务分布在不同的地方, 这就构成了一个分布式的系统,现在问题来了, 系统A是整个分布式系统的“脸面”, 用户直接访问,用户量访问大的时候要么是速度巨慢,要么直接挂掉, 怎么办?
由于系统A只有一份, 所以会引起单点失败。
阅读全文…作者:阮一峰 原文地址:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
本文从零开始,讲解如何使用 Elastic 搭建自己的全文搜索引擎。每一步都有详细的说明,大家跟着做就能学会。
阅读全文…