-
一文读懂为什么HDFS更适合存储大文件
HDFS(分布式文件系统)是大数据生态圈中不可或缺的一部分,作为大数据生态圈中的存储层,HDFS能够存储结构及非结构化的数据,数据吞吐量大但延时较高,一般用于离线批处理。此外,由于其架构设计,HDFS更适合存储大文件。要了解为什么HDFS更适合存储大文件,首先需要了解其架构设计。HDFS架构设计HDFS采用主从架构设计,由NameNode、SecondaryNameNode及D...
-
Zabbix 监控
Zabbix监控什么?监控项Zabbix常用监控项zabbix自带的常用监控项agent.ping 检测客户端可达性、返回nothing表示不可达。1表示可达system.cpu.load --检测cpu负载。返回浮点数system.cpu.util -- 检测cpu使用率。返回浮点数vfs.dev.read -- 检测硬盘读取数据,返回是sps.ops.bps浮点类型,需要定...
-
一文读懂Socket通信原理
什么是Socket?Socket的中文翻译过来就是“套接字”。套接字是什么,我们先来看看它的英文含义:插座。Socket就像一个电话插座,负责连通两端的电话,进行点对点通信,让电话可以进行通信,端口就像插座上的孔,端口不能同时被其他进程占用。而我们建立连接就像把插头插在这个插座上,创建一个Socket实例开始监听后,这个电话插座就时刻监听着消息的传入,谁拨通我这个“IP地址和端...
-
成就架构师之路,你不得不知的Netty核心知识
1. Netty 基础Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。它是一个网路应用框架。2. Netty 高性能之道2.1. RPC 调用的性...
-
谷歌开源的高性能 RPC 框架gRPC
gRPC概述gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统。gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP...
-
将分割的文件进行合并
将分割后的文件进行合并,还原成一个完整的文件本质其实就是文件的拷贝,只不过在拷贝的时候是追加文件而不是新建文件这个时候我们使用到的是字节流,就是将分割后的文件输入到程序,然后输出到文件也可以理解为多个输入流一个输出流package cn.jd.io;import java.io.BufferedInputStream;import java.io.BufferedOutputS...
-
高级前端必须要懂得nginx知识
作为一个前端,你可能不需要懂太多后端的知识,也不需要懂太多运维方面的技术,但nginx的两个常用的知识点你一定要懂,它们就是反向代理与负载均衡。什么是反向代理与负载均衡什么是反向代理当我们有一个服务器集群,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集群服务器的时候无法访问,必须通过第三方服务器才能访问集群这个时候,我们通过第三方服务器访问...
-
微信花式昵称来袭,这样设置昵称,想要低调都不行
不知道大家有没有在微信里看过类似于这样的微信昵称,看起来是不是又有个性还是十分有趣,小雷也十分好奇这是怎么生成,经过小雷的不断探索之下,今天就来给大家科普科普,话不多说,看过来!例如箭头昵称,点击链接,进入页面后输入你要转换的文字,然后点击样式,一共有四个样式,点击你喜欢的样式即可!除了箭头昵称之外,还有有趣圈圈昵称、X标志昵称、请勿打扰昵称等等,具体操作也是一样的哦!除此之外...
-
聊聊小程序运行机制的那些事(图文结合)
小程序的由来在小程序没有出来之前,最初微信WebView逐渐成为移动web重要入口,微信发布了一整套网页开发工具包,称之为 JS-SDK,给所有的 Web 开发者打开了一扇全新的窗户,让所有开发者都可以使用到微信的原生能力,去完成一些之前做不到或者难以做到的事情。但JS-SDK 的模式并没有解决使用移动网页遇到的体验不良的问题,比如受限于设备性能和网络速度,会出现白屏的可能。因...
-
系统架构设计中,如何在不同层级中进行数据缓存
商城系统,用户请求,每次都从服务器读取,服务器io瓶颈,大大地限制了系统的性能。我们可以把数据缓存起来,以此来提升系统性能。那什么数据需要缓存?静态数据:很少变化,读的次数远远大于写,比如模版文件、Js文件、用户的基础资料。热点数据:访问量很大,访问频率很高,比如秒杀活动的信息、销售排行榜等。Web应用架构图在架构中,不同层级间都可以使用缓存,以此来加速访问。客户端缓存:Loc...
-
OPPO Android 开发技术面总结
今天早上参加了深圳 OPPO 开发工程师的技术面试,总的来说面试过程不是很顺利。面试官并没有问一些很深奥的底层原理,基本都是一些 Java 基础以及 Android 四大组件内的基础,但是我自身在开发过程中并没有很重视这些理论基础,导致很多知识点都忘记了。整个面试过程耗时一小时,感谢两位面试官不厌其烦地给我提示,一方面让我能够回想起来那些遗忘的知识点,另一方面也缓解了尴尬的气氛...
-
Elasticsearch:将mysql数据导入到Elasticsearch中
因为elk(Elasticsearch,logstash,Kibana是一家的),所以使用 logstash做为作为导入工具是最好的选择。1))下载logstash https://www.elastic.co/cn/logstash2)解压后进入logstash目录3)新版本(2020/3/12,7.6.1)无需执行bin/logstash-plugin install lo...
-
连接池的基本工作原理
连接池的基本工作原理1、基本概念及原理由上面的分析可以看出,问题的根源就在于对数据库连接资源的低效管理。我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了解决资源的频繁分配?释放所造成的问题。为解决上述问题,可以采用数据库连接池技术。数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需...
-
教你如何一键生成Nginx配置,让配置不在繁琐
前因关于Nginx部署、配置的文章网上已经发布过很多,包括我自己也私藏了不少还发布过两篇:后端必备 Nginx 配置前端必备 Nginx 配置整理出来为的就是需要的时候,复制、粘贴就能使用。然而千奇百怪的实际开发中,你肯定需要增删Nginx配置。你就得上网搜一下,复制粘贴出bug了又得调一下...搞定还得保存下来以备后患。多了不好找还得整理...就搞得很麻烦后果今天我给大家推荐...
-
Web开发之浏览器数据库存储解决方案的选择和使用
本文背景在我们的Web项目开发中常常会遇到一些数据的存储问题,因为有一些数据相对来说对于安全性要求比较低,在现代Web项目开发中大部分已经走向前后端分离的模式,一般通用的都是向前端提供rest api。我个人认为,虽然前后端分离的模式很好的解决了后端统一的问题,但是相对来说,如果大量的重复数据或者一些基础数据每次都通过请求服务器来说无疑是对服务器资源的一种浪费,既然浏览器提供了...
-
Github非常惊艳的轻量级开源动画引擎——Animejs
介绍Anime.js是一个轻量级的JavaScript动画库,具有简单但功能强大的API。它与CSS属性,SVG,DOM属性和JavaScript对象一起使用。Github在Github上已收获近35k的star数,可见其非常受广大使用者的热爱!https://github.com/juliangarnier/anime/特性复杂的交错动画变得简单css分层转换在单个HTML元...
-
我是如何在SQLServer中处理每天四亿三千万记录的
以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务。项目背景这是给某数据中心做的一个项目,项目难度之大令人发指,这个项目真正的让我感觉到了,商场如战场,而我只是其中的一个小兵,太多的战术,太多的高层之间的较量,太多的内幕了。具体这个项目的情况,我有空再写相关的博文出来。这个项...
-
基于 token 的多平台身份认证架构设计
1 概述在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N个客户端的格局 。不同的客户端产生了不同的用户使用场景,这些场景: 1.有不同的环境安全威胁 2.不同的会话生存周期 3.不同的用户权限控制体系 4.不同级别的接口调用方式综上所述,它们的身份认证方式也存在一定的区别。本文将使用一定的篇幅...