数据架构:索引+文档+文档类型+映射 [索引 文档 文档类型 映射] 索引index 对逻辑数据的逻辑存储:关系型数据库表.MongoDB集合.CouchDb数据库索引 index <---shard<--- replica 索引:分片:副本=1:n:nm 文档document 相同字段必须有相同类型,一个字段可能多次出现在一个文档中 文档=文档类型+唯一标识符:在一个索引中,不同类型的文档可以有相同文档标识符 文档类型 一个博客应用程序可以保存文章和评论:一个索引对象可以通过文档类型存储不同…
Kubernetes容器集群中的日志系统集成实践 Kubernetes是原生的容器编排管理系统,对于负载均衡.服务发现.高可用.滚动升级.自动伸缩等容器云平台的功能要求有原生支持.今天我分享一下我们在Kubernetes集群中日志管理的实践方案.在这个方案中,除了Docker和Kubernetes,主要还涉及的技术包括:Fluentd.Elasticsearch.Kibana和Swift. Fig00-Kubernetes日志系统中涉及的技术 评估容器云平台日志系统的标准: 易扩展:能够支撑集群…
问: linux的虚拟内存是4G,而每个进程都有自己独立的4G内存空间,怎么理解? 每个进程所拥有的4G独立的虚拟内存空间是什么意思?linux系统的虚拟4G空间中,高位的1G是用于系统内核运行的,那么每个进程都有4G的话岂不都要运行内核了,这样是不是很浪费很低效? 答: 4G 指的是最大的寻址空间为4G 一个进程用到的虚拟地址是由内存区域表来管理的,实际用不了4G.而用到的内存区域,会通过页表映射到物理内存.所以每个进程都可以使用同样的虚拟内存地址而不冲突,因为它们的物理地址实际上是不同的.内…
这段时间折腾了哈java web应用的压力测试,部署容器是tomcat 7.期间学到了蛮多散碎的知识点,及时梳理总结,构建良好且易理解的知识架构把它们组织起来,以备忘.对web应用开发者来说,我们很关心应用可同时处理的请求数,以及响应时间.应用本身和它运行在其中的web容器是两个很重要的影响因素.对tomcat来说,每一个进来的请求(request)都需要一个线程,直到该请求结束.如果同时进来的请求多于当前可用的请求处理线程数,额外的线程就会被创建,直到到达配置的最大线程数(maxThreads…
摘要:这是一篇很详尽的独立博客搭建教程,里面介绍了域名注册.DNS设置.github和Hexo设置等过程,这是我写得最长的一篇教程.我想将我搭建独立博客的过程在一篇文章中尽可能详细地写出来,希望能给后来者一个明确的指引,同时用这篇教程开篇,正式开始我的第八大洲之旅. 前言 作为一个技术小白,没有技术基础,看网上的教程也云里雾里,看程序员的教程相当不容易,稍微有些细节描述得不清楚自己就要绕弯路去找答案(善用搜索引擎),所以,在自己的博客搭建完成之后,我决定要将我搭建博客的过程全记录下来,以供后期和…
[TOC] Spark:一个独立应用 关于构建 Java和Scala 在Java和Scala中,只需要给你的应用添加一个对于spark-core的Maven依赖. Python 在Python中,可以把应用写成脚本,然后使用Spark自带的bin/spark-submit脚本来运行.spark-submit会引入Python程序的Spark依赖.使用方式如下所示. /PATH_TO_SPARK/bin/spark-submit my_python_script.py 初始化SparkContex…
需不需要一个独立的部署系统是很多企业用户在构建持续交付流程中经常困惑的一个问题.也经常有用户会问我们,现在已经有Jenkins,它自身提供了丰富的部署插件(如WebSphere部署插件.Tomcat部署插件等),方便用户直接把构建出来的部署包自动化部署到指定机器(甚至云服务).那为什么不可以围绕Jenkins,集成一系列部署流程,从而不需要额外搭建一个独立的部署系统? 注:本文以Jenkins为例来说明独立部署系统的重要性.但持续构建工具不仅仅限制于Jenkins,还包括如BuildForge.…
不是这样的. Collection 的单个 doc 有大小上限,现在是 16MB,这就使得你不可能把所有东西都揉到一个 collection 里.而且如果 collection 结构过于复杂,既会影响查询.更新效率,也会造成维护困难和操作风险.你有尝试过手一抖就把一个 doc 不小心存成 null 的么,反正我做过,要是一个人所有信息都在这个 collection 里面,那感觉一定相当酸爽吧. 一般的原则是: 按照查询方式来聚类 需要经常一起读取的数据放一起. 在逻辑上关系紧密的信息放在一起.…
事务(数据库引擎) 事务是作为单个逻辑工作单元执行的一系列操作.一个逻辑工作单元必须有四个属性,称为原子性.一致性.隔离性和持久性 (ACID) 属性,只有这样才能成为一个事务.原子性事务必须是原子工作单元:对于其数据修改,要么全都执行,要么全都不执行. 一致性 事务在完成时,必须使所有的数据都保持一致状态.在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性.事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的. 隔离 由并发事务所作的修改必须与任何其他并…
集群版本升级 Elasticsearch 作为一个新兴项目,版本更新非常快.而且每次版本更新都或多或少带有一些重要的性能优化.稳定性提升等特性.可以说,ES 集群的版本升级,是目前 ES 运维必然要做的一项工作. 按照 ES 官方设计,有 restart upgrade 和 rolling upgrade 两种可选的升级方式.对于 1.0 版本以上的用户,推荐采用 rolling upgreade 方式. 但是,对于主要负载是数据写入的 Elastic Stack 场景来说,却并不是这样! ro…