近一月翻阅资料小结

2023-11-18

近一个月接触的东西比较多,梳理一下。

 

Nginx+Tomcat

实现负载均衡,同时采用keepalived的形式实现HA。负载后,关键问题就是session共享的问题,可实现的思路较多:Tomcat6以后本身可以使用cluster技术达成。也可以借鉴第三方软件实现。Memcachedredis都是采用的方案,【tomcat8redis的方案中兼容性稍差,可以改造原有jar包,目前已测试通过】。

 

NOSQL

Mongodb,文档数据库。实现集群有三种方式,一种是M-S方式,官方不建议采用此方案。一种是rep复制集方式,使用率较高。再者就是sharding方式,需要数据量较大以后建议使用,一般情况下无须此方式。其HA方式也是基于复制集的形式实现。Springmongodb支持较多,如jdbcTemplate等等使用方式即可。

Rediskey-value数据库。支持的数据格式较memcached较多,比如string,map,list等等,一般情况下memcachedredis效率上基本上差不多。其HA方式,同样可以采用Keepalived方式实现,采用VIP的结构。Redis本身也支持sentinl的方式实现HA,集成在redis内部。Redis3之后本身支持cluster方式。采用3台机器或以上交叉部署,3Master-3Slave,除非两台机器全部down掉。

 

Supervisor,进程监控工具,以确保某些关键服务在无端断掉之后能监控到,实现自动重启。

 

Crontablinux系统自带的定时任务工具,采用cron方式,当前任务不能实现分布式运行时,可采用特殊部署的形式达到只启动一个任务。

 

Kafka,一个消息传输开源工具,效率上要优于activeMQ。可以与log4jappender结合,直接将log4j的日志统一收集起来集中式管理,然后存储起来。主要有三个关键概念。Producerbrokerconsumer。集群部署也有几种方式,单broker,多broker,多producer/consumer方式等。采用zookeeper实现服务的注册,其本身也自带zookeeper,当然也可以采用zookeeper独立的服务。

 

Log4j 2log4j/logback后又一力作,log4j 2优于两者,效率上要更快,但针对不是很大型的应用而言,log4j/logback基本上可以满足需求。

 

Logstash,日志收集工作,可以收集多种日志格式,比如nginx,tomcat,mysql等等,采用Input的形式,设置来源,其后output到指定的存储容器中。中间也可以采用filterinput的数据进行格式化处理。多用于系统的监控,特别是集群环境的监控,不必再一个一个机器来查看日志。

 

Elsticcsearch,基于lucene的搜索引擎工具,存储数据量很大,搜索速度快。Logstash收集的日志可以直接存储到elasticsearch中,方便数据存储及后期数据的分析。

 

KibanaELKlogstashelsticsearchkibana)组件中三者中的一个,可以WEB的形式查看日志,监控报警等等。安装比较简单,在Linux中部署中就可以启动看到UI

 

Hadoop,现下的大数据默认的标准,一说大数据就联想到hadoop。其有两个关键概念,一个mapreduce,一个是HDFSHadoop2版本之后,mapreduce全新升级为Yarn架构,实现方式上差别很多,但效率稍微较1版本中效率高不少。HDFS,分布式文件系统,多用于数据存储,结合其它开源工具使用。Namenode/datanode两个主要的概念,namenode类似目录服务,datanode存储数据。

 

Hive,数据仓库工具,可以理解为MYSQL来使用。Hive+HDFSHIVE的数据是存储在HDFS中,但Hive的元数据是存储在关系性数据库中,如debrymysql等。

部署方式有三种,

一是嵌入式部署,直接内置的debry,此方式只能用于单连接测试使用,生产开发都不建议使用。

二是本地化部署,本机安装数据库,

三是远程式部署,与本机安装类似,多用于生产环境部署。

其专用的HQL语法,使用起来与SQL语法类似,但其可以直接翻译成mapreduce任务来执行,大大降低了编写mapreduce的工作量,但有些问题无法通过HQL解决时,只能编写mapreduce来实现。

 

Spark,一种内存计算的大数据工具,对机器内存要求较高,但其运行效率是hadoop中的MR远远不及的。

 

Flume,中文翻译为管道,由名知意。可以JAVA API采用,也可以与log4j集成,对应的有appender,可以将log4j的日志注入flume中。关键因素有sourcechannelsink。可以多节点部署,前后衔接。Log4j + flume + hdfs/elsticsearch是比较可行的架构。

 

Sqoop,之前用过penthon kettle,有点类似。Sqoop主要用于数据传输,从关系库中往非关系库中导入导出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

近一月翻阅资料小结 的相关文章

  • hadoop中reducer的数量

    我正在学习hadoop 我发现减速器的数量非常令人困惑 1 reducer的数量与partition的数量相同 2 reducer 的数量是 0 95 或 1 75 乘以 节点数 每个节点的最大容器数 3 减速机数量设定为mapred re
  • MongoDB 查询返回空数组

    有一个基本的 Express 应用程序连接到几乎 0 5 GB 的 MongoDB 数据库 当我运行时 router get function req res next medical data find State CT function
  • 显示来自 mongodb 的所有数据并在 doT.js 模板引擎中渲染它

    我想从 mongodb 中提取数据并将其传递给视图 一切似乎都正常 但我没有看到所有 10000 条记录都显示出来 而是只看到了一条 我觉得我非常接近解决它 但我陷入困境 我正在使用node mongodb native express和d
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • 如何使用 node.js / mongodb 在 HTML 中显示任意、无模式数据

    我使用 mongodb 将应用程序错误日志存储为 json 文档 我希望能够将错误日志格式化为 HTML 而不是将纯 json 返回到浏览器 日志是完全无模式的 它们可以随时更改 因此尝试执行此操作 在 Jade 中 是没有用的 var i
  • 如何在 MongoDB v3.0.5 中创建用户

    我需要在 mongodb 中为我的数据库创建一个用户 但似乎我无法让它工作 我已经在我的 Windows 7 机器上安装了 mongoDb v3 0 5 根据本文 https docs mongodb org v3 0 tutorial a
  • 如何使用 Sails.js 和 Waterline 更新 MongoDB 子文档中的特定键?

    当尝试使用 Sails js 和 Waterline ORM 更新 MongoDB 子文档中的单个键时 我遇到了问题 这就是我的person js模型看起来像 module exports attributes name type stri
  • 猫鼬的深层填充

    我有两个模式 一张用于用户 另一张用于帖子 在用户模式中 我有latestPost的一个属性 它是帖子模式中条目的ObjectId 当我加载用户对象时 我想将 lastestPost 作为对象获取 其中包含用户架构中作者的用户名 其中作者是
  • MongoDB 在仅返回 _id 时使用 COLLSCAN

    我想返回 MongoDB 集合中的所有 ID 我使用了以下代码 db coll find id 1 但MongoDB扫描整个集合而不是从默认读取信息index id 1 从日志中 find collection filter project
  • 加密 mongodb 中的密码字段

    我有以下代码 它插入userName and password进入数据库 但密码以纯文本格式存储 我的意思是 当我查看数据库时 我可以看到插入的密码 我想存储password in encrypted format MongoClient
  • 使用 AWS MSK 连接器连接到 AWS VPC 内的 MongoDB atlas

    我正在尝试使用MongoDB使用更改流Kafka 我选择 AWS MSK 是因为我的整个基础设施都位于 AWS 内 并且可以轻松与其他 AWS 服务集成 I created an AWS MSK cluster within the VPC
  • MongoDB:连接到 MongoDB 的 resolv.conf 的 DNS 问题

    我想从 MongoDB Atlas 导出一些数据 如果我执行下面的命令 它会尝试连接localhost并导出数据 mongoexport uri mongodb srv
  • Mongodb聚合数组大小大于匹配项[重复]

    这个问题在这里已经有答案了 我有一个集合 其中投资是 mongodb 文档内的一个数组 现在使用聚合 我尝试过滤投资长度超过 5 倍的结果 然后使用匹配查询进行下一步处理 Collection id 000000 investments h
  • Mongoose 查找 array.length 大于 0 的所有文档并对数据进行排序

    我正在使用 mongoose 对 MongoDB 执行 CRUD 操作 这就是我的架构的样子 var EmployeeSchema new Schema name String description type String default
  • Mongo按动态字段排序

    所以我传入了一个动态变量 它是我想要排序的字段的名称 假设下面的 sortVariable 可能等于 price createdAt name 等 这不起作用 我该怎么做 function findStuff sortVariable va
  • NodeJS:将 JSON 保存到 MongoDB

    我正在尝试从 API 获取 JSON 并将其存储到 MongoDB 数据库中 显然 这是行不通的 我的应用程序似乎停留在我尝试将数据保存到数据库的位置 请告知该怎么做 这是我的代码 var express require express v
  • redis 2.8.7 Linux Sentinel环境配置问题,如何使其自启动,应该订阅什么?

    现在我们尝试使用 redis 2 8 7 作为缓存存储 来自使用 booksleeve 客户端的 NET Web 应用程序 目前看来这是一个非常有趣和令人兴奋的任务 redis 文档非常好 但由于缺乏真正的实践经验 我确实有几个关于如何正确
  • Strapi 未加载 Digital Ocean 上托管的现有 MongoDB 中的集合

    我正在使用 Strapi 创建一个新应用程序 并尝试将其与托管在 Digital Ocean 上的 MongoDB 连接 但不幸的是Strapi 无法从现有 MongoDB 获取集合 在这里 我提到我实现 Strapi 与现有 MongoD
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续

随机推荐

  • 《上海市居住证》签注和积分确认流程指南

    上海市居住证 签注和积分确认流程指南 一 办理条件 员工已经自行至社区事务受理服务中心办理 上海市居住证 签注 由于上海市居住地所属的社区事务中心非常多 具体申请相关流程指南及材料办理清单最好事先和居住地所属的社区事务中心确认 办理 上海市
  • SSL_CTX结构体

    定义在ssl h头文件中 struct ssl ctx st SSL METHOD method unsigned long options unsigned long mode STACK OF SSL CIPHER cipher lis
  • E-R图(Entity Relationship Diagram)实体关系模型

    E R图也称实体 联系图 Entity Relationship Diagram实体关系模型 提供了表示实体类型 属性和联系的方法 用来描述现实世界的概念模型 它是描述现实世界关系概念模型的有效方法 是表示概念关系模型的一种方式 用 矩形框
  • 为什么要用缓冲流

    一开始学习处理流会疑问为什么速度会加快呢 好比一个10KB的文件 使用最基本的字节流读写 只要读一次10KB到内存 存一次10KB到目标文件就行了 但是使用缓冲不是要读1次10KB到缓冲 再从缓冲写一次10KB到CPU 再从CPU写10KB
  • No matching distribution found for tensorflow 解决方法

    2020 8最新版本为TF2 3 安装时容易出现的问题是各软件程序版本不统一的问题 GPU版本对应表如下图所示 图片来源于Tensorflow 官网 分割线 分割线
  • 使用JavaScript编写HTML

    使用JavaScript编写HTML 1 什么是JavaScript JavaScript是一种脚本语言 通过Dom定义表示和修改文档所需的对象和这些对象的行为和属性以及这些对象之间的关系从而操作HTML文档 比如添加 移除 改变或重排页面
  • ARM之未定义指令异常和SVC异常

    异常向量表的概述 在上一章 我们学习了建立异常向量表 这里我们可以通过看arm的手册 我们每一种异常都对应一个工作模式 下面我就来尝试触发一下未定义指令异常和SVC异常 异常发生的说明 简单的来说就是先保存现场 之后恢复现场 保存现场 我们
  • 第一章 计算机系统概论

    一 计算机系统简介 1 计算机软硬件概念 计算机是一种能够执行指令的电子设备 它由硬件和软件两部分组成 计算机硬件是指计算机系统中的物理组件 包括中央处理器 CPU 内存 硬盘 输入设备 如键盘 鼠标 输出设备 如显示器 打印机 等 这些硬
  • windows10安装RDKit化学信息学python库(通过anaconda)

    RDKit是一款功能强大的化学信息学工具 推荐使用anaconda安装 安装时应当参考 1 官方安装指南 Rdkit Anaconda org 2 中文教程 RDKit简介 RDKit 中文教程 2020 09 文档 chenzhaoqia
  • python爬虫之数据解析

    python爬虫之数据解析 正则表达式 bs4 xpath 主要运用在聚焦爬虫模块中 涉及到的数据解析方法有 正则表达式 bs4以及xpath 1 使用对象 聚焦爬虫 聚焦爬虫 爬取页面中指定的页面内容 2 数据解析原理概述 解析的局部的文
  • word在另外计算机格式不对,为什么word 2007文件在不同电脑上排版显示不同?应该如何解决?...

    为什么word文件在不同电脑排版显示不同 最近打印论文 自己的笔记本是word2007 保存的通用格式 预览排版没有问题 去打印店打印时 发现插入的图片窜行了 幸亏即使调整过来 并且保存 但拿回自己的笔记本打开后图片的位置还是窜行的 请问这
  • iOS中堆和栈的使用(Swift)

    堆和栈都是一种数据项按序排列的数据结构 只能在一端 称为栈顶 top 对数据项进行插入和删除 堆 队列优先 先进先出 FIFO first in first out 栈 先进后出 FILO First In Last Out 堆栈空间分配
  • 手机APP远程温湿度监控系统(连上公网、阿里云)

    APP界面 实物图 操作演示 一 硬件电路图 这里有两点需要说明 1 第一点是关于LCD1602需不需要加上拉电阻的说明 51单片机P0口作为IO口输出时 输出低电平为0 输出高电平为高组态 并非5V 相当于悬空状态 也就是说P0 口不能真
  • 【蓝桥杯Python组】寻找2020

    寻找2020 题目描述 小蓝有一个数字矩阵 里面只包含数字 0 和 2 小蓝很喜欢 2020 他想找到这个数字矩阵中有多少个 2020 小蓝只关注三种构成 2020 的方式 同一行里面连续四个字符从左到右构成 2020 同一列里面连续四个字
  • matlab中 hold on 与 hold off,figure作用

    hold on是当前轴及图像保持而不被刷新 准备接受此后将绘制的图形 多图共存 即启动图形保持功能 当前坐标轴和图形都将保持 从此绘制的图形都将添加在这个图形的基础上 并自动调整坐标轴的范围 hold off使当前轴及图像不再具备被刷新的性
  • moviepy音视频剪辑:视频剪辑基类VideoClip详解

    前往老猿Python博文目录 一 概述 在 moviepy音视频剪辑 moviepy中的剪辑基类Clip详解 和 moviepy音视频剪辑 moviepy中的剪辑基类Clip的属性和方法详解 介绍了剪辑相关类及类关系 可以看到视频剪辑类Vi
  • 汽车电子行业静态分析和代码审查规则

    汽车电子行业静态分析和代码审查规则 查了很多编码规则大都是PDF版 最终我整理出了几份word版的 并且帮大家排版好了可直接用于书写测试大纲或报告 下载链接在我的下载中 规则包含以下 1 MISRA C 2012 2 MISRA C 200
  • Node.js入门 03:模块化规范 CommonJS 与 ES Module

    文章目录 目的 CommonJS 基础使用 module 对象 require 方法 ES Module 混合使用 总结 目的 传统的用在网页中的JavaScript代码文件与文件之中的内容都是全局相互可见的 这对于大型项目特别是多人合作的
  • 领域驱动设计:DDD分层架构

    文章目录 DDD 分层架构 DDD 分层架构最重要的原则 DDD 分层架构推动架构演进 三层架构如何演进到 DDD 分层架构 微服务架构模型有好多种 例如整洁架构 CQRS 和六边形架构等等 每种架构模式虽然提出的时代和背景不同 但其核心理
  • 近一月翻阅资料小结

    近一个月接触的东西比较多 梳理一下 Nginx Tomcat 实现负载均衡 同时采用keepalived的形式实现HA 负载后 关键问题就是session共享的问题 可实现的思路较多 Tomcat6以后本身可以使用cluster技术达成 也