dasein58_个人页

个人头像照片 dasein58
个人头像照片 个人头像照片
961
0
0

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2021年11月

  • 11.04 22:14:46
    发表了文章 2021-11-04 22:14:46

    一次HBase读超时的调优

    现象:因为系统实时性要求比较高,HBase超时时间设置为2秒。偶尔会出现(几个小时)出现一波超时的情况,看了监控IO、CPU等并没有出现明显大波动。不过集群是高读写的,每秒几万的请求。就开始参与协助帮忙集群的排查、调优工作。 汗,最关键的是集群都用上了SSD,这是开大的节奏。 先来看看HBase主要的几个参数: 1、major compaction(大合并操作,几天执行一次,或者手动执行。对IO影响很大,对性能影响也很大) 2、memstore:regions数量、列簇数量有影响 ,一个列簇就需要一个memstore ,会占用region server的内存。 3、负载均衡:是不是某
  • 11.04 22:14:03
    发表了文章 2021-11-04 22:14:03

    Linux下3种常用的网络测速工具

    不管你用的是什么操作系统,网速都是你非常关心的一个性能指标,毕竟,谁都不想看个视频结果网速卡到你怀疑人生。本文介绍三个 Linux 命令行下的网络测速工具,让你随时随地知道你的网络状况。 fast fast 是 Netflix 提供的一项服务,它不仅可以通过命令行来使用,而且可以直接在 Web 端使用:fast.com。 我们可以通过以下命令来安装这个工具: $ npm install --global fast-cli 不管是网页端还是命令行,它都提供了最基本的网络下载测速。命令行下最简单的使用方法如下: $ fast 93 Mbps ↓ 从以上结果可以看出,直接使用 fa
  • 11.04 22:13:24
    发表了文章 2021-11-04 22:13:24

    优秀的程序员真的不写注释吗?

    我在很多地方看到这样一个观点,“请停止写注释,因为只有烂的代码才需要注释。”这个观点非常巧妙,它让我想起了孟子的一句话,“杨氏为我,是无君也;墨氏兼爱,是无父也。无父无君,是禽兽也。” 动不动就骂别人是“禽兽”,我总觉得有点不妥,这很不符合孟子的浩然之气啊。有些大牛也有孟子这样的觉悟,如果有人要他给自己的代码加上注释,就好像是对他的一种侮辱:“我的代码写得这么优雅,你难道看不懂吗?注释是多余的!” 我必须得承认,每个程序员都应该有一颗追求“优雅”的心,力争自己的代码更易阅读和理解——不只是针对机器,还有我们程序员同行。但不是每个程序员在一开始都能写出“高标准”的代码的,就好像不是所有君王
  • 11.04 22:12:54
    发表了文章 2021-11-04 22:12:54

    五分钟零基础介绍 spark

    相信大家都听说过火的不能再火、炒得不能再炒的新一代大数据处理框架 Spark. 那么 Spark 是何方神圣?为何大有取代 Hadoop 的势头?Spark 内部又是如何工作的呢?我们会用几篇文章为大家一一介绍。 Hadoop:我不想知道我是怎么来的,我就想知道我是怎么没的? 还是从 Hadoop 处理海量数据的架构说起,一个 Hadoop job 通常都是这样的: 从 HDFS 读取输入数据; 在 Map 阶段使用用户定义的 mapper function, 然后把结果写入磁盘; 在 Reduce 阶段,从各个处于 Map 阶段的机器中读取 Map 计算的中间结果,使用用户定义的 r
  • 11.04 22:12:23
    发表了文章 2021-11-04 22:12:23

    与 hadoop 对比,如何看待 spark 技术?

    我先说我个人的结论。 我的结论必须基于2017年9月初这个时间节点。因为未来,是存在一切可能的变数的。 1.Hive 在短期2-3年内,仍然无法被取代。大部分中大型互联网公司的sql类大数据分析job,70%以上都仍旧会跑在hive上。 2.presto / impala / sparksql / hive on tez . 我认为presto目前是最有可能胜出的一个。 3.spark 的地位有些尴尬。在大热之后,我不太看好他的未来。 我当然会慢慢来说我为什么会下这些结论。 首先,我在说几个我在工作当中看到的事实: 1.spark在小数据集的优势明显。 spark更容易编写类
  • 11.04 22:11:46
    发表了文章 2021-11-04 22:11:46

    spark面试必须掌握的知识点概览

    最近很多球友都说在准备面试,不知道准备点啥,尤其是spark,实际上星球里浪尖分享的内容真的都掌握了,应对一般面试绝对没问题,但是遗憾的事情是很多人都是处于不会主动搜集资料,主动梳理知识,主动记忆整理知识,而是伸手要粮的境地。浪尖觉得这个是阻止你成长的罪魁祸手。前天跟朋友聚餐就说道这种情况,不努力,不加班给自己喂粮的,没有足够量和时间积累的人很难在一个领域里有所建树。 主动学习,保持激情,不断提高~ 言归正传,大部分面试者被面试的spark问题估计都会集中于spark core,spark streaming和spark sql,至于mllib和graphx这些估计都是了解项,当然也要逐步
  • 11.04 22:11:04
    发表了文章 2021-11-04 22:11:04

    生产环境使用HBase,你必须知道的最佳实践

    前面,我们已经打下了很多关于HBase的理论基础,今天,我们主要聊聊在实际开发使用HBase中,需要关注的一些最佳实践经验。 1.Schema设计七大原则 1)每个region的大小应该控制在10G到50G之间; 2)一个表最好保持在 50到100个 region的规模; 3)每个cell最大不应该超过10MB,如果超过,应该有些考虑业务拆分,如果实在无法拆分,那就只能使用mob; 4)跟传统的关系型数据库不同,一个HBase的表中列族最多不超过3个,列族中的列可以动态添加的,不要设计过多列族; 5)列族名必须尽量短,因为我们知道在存储的时候,每个keyvalue都会包含列族名;
  • 11.04 22:07:36
    发表了文章 2021-11-04 22:07:36

    传统容器已死,安全容器将成为云原生标配

    云原生是一座由精妙理论所构筑的摩天大厦,但其中的砖石还需加固。 当云原生将容器技术作为下一代云计算的基础之一时,并不意味着容器本身停止了演化。事实上,以Docker为代表的传统容器在遇到多租户场景时,它的安全问题立刻暴露了出来,这时,人们才怀念起虚拟化的好处。于是,采用虚拟化技术的“安全容器”这一概念应运而生,而开启这一变革的,正是Kata Containers,前不久,它刚刚度过两周年。 新的Kata Containers为我们带来虚拟机的安全性和隔离性、与容器兼容的API接口,同时还有与容器同一级别的性能,这意味着采用安全容器的时机已经成熟。 与此相对的是,上个月,Docker的企业
  • 11.04 22:06:25
    发表了文章 2021-11-04 22:06:25

    云原生基础架构最佳状态,就是没有基础架构

    本篇我们讨论云原生基础架构,它是通向云原生时代的基石。 对于很多架构师来说,上云之后,架构为什么成为了云原生架构而不是传统的架构,两者有何区别?云原生基础架构是如何演进的?本文进行全面梳理。 什么不是云原生基础架构? 云原生被谈的很多了,导致概念很乱。有人把云原生基础架构和公有云、容器、容器编排系统等划等号,之所以出现这种情况,原因是云原生架构并没有一个统一的概念。 为了更好的理解云原生系统,这里先做一些排除。 首先,云原生并不等于公有云。云原生基础架构不仅仅是在公有云上运行基础架构,这是因为仅仅从云服务商那里租用服务器时长,并不会使你的基础架构云原生化,管理IaaS和运行物理数据中心
  • 11.04 22:05:36
    发表了文章 2021-11-04 22:05:36

    云原生平台:市场现状分析

    对于期望获得云原生能力的企业,在IaaS提供的云计算弹性与开发云原生应用之间,还有一个很大的空白地带:如何用云计算为软件交付的过程服务。Docker和Kubernetes等工具提供了容器化和容器编排的能力,但是企业需要解决“为了承载我(期望)的开发流程,我需要怎样的容器和编排”的问题。这就给云原生平台(Cloud Native Platforms)创造了市场空间。 总体介绍 为分布式云应用提供支撑的平台从2015年开始受到广泛的关注,围绕着Docker、容器编排等技术,开始出现各种商业模式。云原生平台可以视为下一代中间件,其用途是交付企业级分布式应用所需的各种支撑能力。以容器和容器编排为基础
  • 11.04 22:04:36
    发表了文章 2021-11-04 22:04:36

    为什么云原生应用程序是未来

    现在,每个人都在谈论如今在云原生态环境中构建的应用程序。什么是云原生的,为什么它如此重要?     在深入挖掘之前,可以先看看一个有趣的陈述。据调研机构IDC称,到2022年,90%的新应用都将采用微服务架构,提高设计、调试、更新和利用第三方代码的能力;所有生产应用程序的35%将是云原生的。     显然,未来属于云原生应用程序。现在看一下云原生的定义。     云原生(或基于云计算)应用程序是在云中创建的应用程序,它是作为打包在容器中的微服务构建的。  
  • 11.04 22:03:33
    发表了文章 2021-11-04 22:03:33

    Docker安装与基本操作

    0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统。镜像是创建Docker容器的基础。 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例,可以将其启动、停止、删除,而这些容器都是相互隔离、互不可见的。 镜像自身是只读的。容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。 Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。Docker仓库分为公开仓库和私有仓库。 注册服务器(Registry)是存放仓库的地方,其
  • 11.04 22:01:33
    发表了文章 2021-11-04 22:01:33

    你一定要知道的--MongoDB:基础知识

    通过优锐课架构学习分享中,研究什么是MongoDB,什么是NoSQL数据库,以及对现有数据库管理系统的介绍。码了很多实用的笔记,分享 大家参考学习。 1. 目的 在本文中,我们将研究什么是MongoDB,什么是NoSQL数据库,以及对现有数据库管理系统的介绍。 此外,我们将讨论MongoDB功能-为什么使用MongoDB以及MongoDB历史记录。 此外,我们还将通过一些示例查看MongoDB应用程序和MongoDB安装。 2.什么是NoSQL数据库? 在开始之前,我们必须了解NoSQL。 NoSQL或“ Not Only SQL”是非结构化数据库。 它提供了一种使用字段存储和检索数据的功能
  • 11.04 22:00:45
    发表了文章 2021-11-04 22:00:45

    MongoDB Go Driver使用帮助文档

    正式的MongoDB Go Driver近来变成1.0的GA版本。它现在被认为是一个完整的特性, 并且准备好在正式产品中使用。这篇使用说明书将帮助你开始使用 MongoDB Go Driver。你将会创建一个简单的程序并且学到如何: 安装MongoDB Go Driver 使用Go Driver来连接MongoDB 在Go内使用BSON对象 给MongoDB发送CRUD操作 你可以在github代码仓库看到这篇帮助文档的完整代码。为了可以按步骤进行, 你需要一个MongoDB数据库来连接, 你可以使用一个运行在本地的MongoDB数据库, 或者很容易地使用MongoDB Atlas来创建一个
  • 11.04 21:59:22
    发表了文章 2021-11-04 21:59:22

    Spark之BloomFilter有趣的bitwise运算

    最近好奇的研究了下Spark的BloomFilter的实现,发现其org/apache/spark/util/sketch/BitArray.java对bit处理的实现很巧妙(源码可能是从其他开源项目借鉴的也不好说),从中学到不少东西,记录下。 BitArray巧妙的核心设计 BitArray内部采用long[] data来表示一个大的bitmap,long类型相比int在相同的数组个数下可以存放更多的bit信息。 比较有意思的是set方法的实现,核心代码如下: // 将指定index位置的bit位设置为1,表示指定的index处有值 void set(long index) { d
  • 11.04 21:58:33
    发表了文章 2021-11-04 21:58:33

    记一次HDFS报EOFException异常的问题

    现象 大晚上的收到线上DataNode挂掉异常的报警,值班同学随即做了重启处理,重启完成后,进程虽然在运行,但是NameNode的WebUI上显示大量的block丢失。 There are 12622047 missing blocks. Number of Under-Replicated Blocks 14436901 重新启动的DataNode节点block数量为0,明显不正常 HDFS在对丢失的block做恢复,missing blocks的数量在减少,但是丢失的的太多了,恢复速度很慢,这种情况肯定不能指望集群自动恢复的。
  • 11.04 21:04:24
    发表了文章 2021-11-04 21:04:24

    《Redis 使用手册》:一网打尽

    今天想要自来水式地推荐一本去年的新书《Redis 使用手册》。Redis 可算是现今内存数据库的实施标准,拥有丰富的数据结构和强大的功能,适用于各种不同的开发场景。对于泛化的大数据研发工程师来说,Redis 是职业生涯中绕不过去的一道坎。这本书由超过十年经验的 Redis 专家,擅长技术协作的黄健宏先生撰写,至少有以下几个特点,使得它非常适合大数据研发方向的新手。 内容详尽,循序渐进 全书一共分为三个部分总二十章。第一章仅用八页就介绍完安装 redis 和 redis-py 等准备工作,毫不拖泥带水混页数。第二章到第十章针对 Redis 开箱即用的数据结构从基础到复杂,从常用到专用一一列举
  • 11.04 21:03:34
    发表了文章 2021-11-04 21:03:34

    用Redis快速实现BloomFilter!

    背景 最近工作上有个类似需求是: 现有约3亿条数据词典存在于一个csv文件A中,作为数据源。对于 用户输入的任意单词M,需要快速的在A中匹配M单词是否存在。(A文件约3G大小左右,总行数三亿) 拿到这个需求,你的第一想法怎么做呢? 正常思路可能是: 将csv文件A导入某关系型数据库。 sql查询按M匹配。 上面的方式有个明显的缺点是:慢!
  • 11.04 21:02:24
    发表了文章 2021-11-04 21:02:24

    从面试官的角度谈谈大数据面试

    作为一只老鸟,我的面试经验还算丰富,无论是作为面试者还是面试官。其实这篇对于面试者来说也是有意义的,毕竟知己知彼,百战不殆,知道对方会从哪些方面问问题,从哪些方面考核,才能更好地提前做好准备。 首先,我觉得面试官有责任保证面试过程是一次高效的交流。你要获取到你需要的信息,对面试者做全方位的考量;面试者也要获取到他需要的信息,面试官(若面试成功很大可能是自己的上级)的水平,公司技术要求水平,自己是否适合这家公司,公司是否需要自己。面试是一个双向选择的过程,面试官在选人,面试者在选公司。而面试者了解这家公司最直接的途径就是通过面试官。
  • 11.04 20:58:05
    发表了文章 2021-11-04 20:58:05

    Redis 21问,你接得住不?

    1.什么是redis? Redis 是一个基于内存的高性能key-value数据库。 2.Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实
  • 11.04 20:57:16
    发表了文章 2021-11-04 20:57:16

    Java程序猿笔记——基于redis分布式锁实现“秒杀”

    最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。 业务场景 所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。 一些可能的实现 刚才提到过,实现秒杀的关键点是控制线程对资源的争抢,根据基本的线程知识,可以不加思索的想到下面的一些方法: 秒杀在技术层面的抽象应该就是一个方法,在这个方法里可能的操作是将商品库存-1,将商品加入用户的购物车等等,在不考
  • 11.04 20:56:15
    发表了文章 2021-11-04 20:56:15

    No-SQL数据库中的事务性设计

    摘要:本文简述了一种在No-SQL数据库中实现ACID事务性的方法,这种方法只需要底层No-SQL DB实现MGET和MUPDATE两个原语就可以保证完整的ACID事务性,在API层,则将复杂的事务性的读写操作归纳为WALK和MUPDATE两个原语,方便使用。 题图是Redis的ASCII Logo,Redis服务器在启动的时候,会把这个Logo连带着一些运行信息打印到服务的日志里。因为这个功能,一名愤怒的用户在Github上提了一个issue,强烈要求取消这个功能,因为在他的syslog转义了换行符,然后这条日志就变成了这个样子: Aug 14 09:40:07 ww3-ukc redi
  • 11.04 20:55:12
    发表了文章 2021-11-04 20:55:12

    MySql查询性能优化

    避免向数据库请求不需要的数据 在访问数据库时,应该只请求需要的行和列。请求多余的行和列会消耗MySql服务器的CPU和内存资源,并增加网络开销。 例如在处理分页时,应该使用LIMIT限制MySql只返回一页的数据,而不是向应用程序返回全部数据后,再由应用程序过滤不需要的行。 当一行数据被多次使用时可以考虑将数据行缓存起来,避免每次使用都要到MySql查询。 避免使用SELECT *这种方式进行查询,应该只返回需要的列。 查询数据的方式 查询数据的方式有全表扫描、索引扫描、范围扫描、唯一索引查询、常数引用等。这些查询方式,速度从慢到快,扫描的行数也是从多到少。可以通过EXPLAIN语句中的ty
  • 11.04 20:54:00
    发表了文章 2021-11-04 20:54:00

    MySQL数据库无完整备份删库,除了跑路还能怎么办?

    1.背景 前段时间,由于运维同事的一次误操作,清空了内网核心数据库,导致了公司内部管理系统长时间不可用,大量知识库内容由于没有备份险些丢失。 结合这两天微盟的删库跑路事件,我们可以看到,数据库的备份与恢复显得尤为重要。 本文将对此次内网数据恢复过程做一些整理,介绍删库后的抢救方案。 同时,引发对数据库稳定性的思考。 2.数据抢修 这份内网数据事先没有特意备份,所以一开始认为需要从磁盘恢复数据了。所以紧急联系了数据恢复公司,希望过来恢复磁盘数据。 这里需要注意,数据恢复公司建议马上关机,避免磁盘数据被覆盖。 联系数据恢复公司的同时,运维同事在内网找到了几个残缺的备份文件,包括去年
  • 11.04 20:52:08
    发表了文章 2021-11-04 20:52:08

    Flink计算PV,UV的案例及问题分析

    PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。 UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。 一个UV可以用很多PV,一个PV也只能对应一个IP 没有这些数据的支持,意味着你不知道产品的发展情况,用户获取成本,UV,PV,注册转化率;没有这些数据做参考,你不会知道接下来提供什么建议给领导采纳,也推测不出领导为啥烦忧,那么就么有任何表现的机会。 举两个UV计算的场景: 1. 实时计算当天零点起,到当前时间的uv。 2. 实时计算当天每个小时的UV。0点
  • 11.04 20:49:31
    发表了文章 2021-11-04 20:49:31

    Spark Core读取ES的分区问题分析

    写这篇文章的原因是前两天星球球友去面试,面试管问了一下,Spark 分析ES的数据,生成的RDD分区数跟什么有关系呢? 稍微猜测一下就能想到跟分片数有关,但是具体是什么关系呢? 可想的具体关系可能是以下两种: 1).就像KafkaRDD的分区与kafka topic分区数的关系一样,一对一。 2).ES支持游标查询,那么是不是也可以对比较大ES 索引的分片进行拆分成多个RDD分区呢? 那么下面浪尖带着大家翻一下源码看看具体情况。
  • 11.04 20:49:00
    发表了文章 2021-11-04 20:49:00

    Flink实现PageRank算法

    PageRank估计是很多面试场合上镜率比较高的吧,面试Spark的时候会被问到,最近flink热,估计也会被问到吧,浪尖就在这里帮大家解决这个疑难杂症。 算法常见的原题是: pagerank的算法会维护两个数据集:一个由(pageID,linkList)的元素组成,包含每个页面的相邻页面的列表;另一个由(pageID,rank)元素组成,包含每个页面的当前排序值。它按如下步骤进行计算。 将每个页面的排序值初始化为1.0。 在每次迭代中,对页面p,向其每个相邻页面(有直接链接的页面)发送一个值为rank(p)/numNeighbors(p)的贡献值。 将每个页面的排序值设为0.15 +
  • 11.04 20:48:11
    发表了文章 2021-11-04 20:48:11

    Spark SQL的Parquet那些事儿

    Parquet是一种列式存储格式,很多种处理引擎都支持这种存储格式,也是sparksql的默认存储格式。Spark SQL支持灵活的读和写Parquet文件,并且对parquet文件的schema可以自动解析。当Spark SQL需要写成Parquet文件时,处于兼容的原因所有的列都被自动转化为了nullable。 1读写Parquet文件 // Encoders for most common types are automatically provided by importing spark.implicits._ import spark.implicits._ val peop
  • 11.04 20:46:56
    发表了文章 2021-11-04 20:46:56

    hadoop分布式缓存

    1.前言 DistributedCache是hadoop框架提供的一种机制,可以将job指定的文件,在job执行前,先行分发到task执行的机器上,并有相关机制对cache文件进行管理。 DistributedCache 可将具体应用相关的、大尺寸的、只读的文件有效地分布放置。DistributedCache 是Map/Reduce框架提供的功能,能够缓存应用程序所需的文件 (包括文本,档案文件,jar文件等)。 Map-Redcue框架在作业所有任务执行之前会把必要的文件拷贝到slave节点上。 它运行高效是因为每个作业的文件只拷贝一次并且为那些没有文档的slave节点缓存文档。 Dis
  • 11.04 20:45:30
    发表了文章 2021-11-04 20:45:30

    Docker:一场令人追悔莫及的豪赌

    每当我对Docker提出批判时,都会收到很多愤懑的回复。我曾于6个月前撰写一篇文章,即《 为什么有人会选择Docker而非大型二进制文件?》,并终于在Hacker News上众多愤慨的批评声中看到了一些明智的评论。因而,今天的这篇文章主要是进一步阐述Docker的设计缺陷并回应未来可能将会面临的批判。 相比HFT Guy的经历而言,我想我已经足够幸运了。HFT Guy曾满腔怒火地表示,由于在金融公司的产品生产阶段使用了Docker而导致失败,想来其必然为此付出了不小代价。原文引用如下: 我收到了一份十分无礼的邮件,发件人明显是业余社区中的一员。这位仁兄在邮件中愤怒地表示:“白痴才会在Ubu
  • 11.04 20:44:30
    发表了文章 2021-11-04 20:44:30

    在Docker Compose上使用GPU运行TensorFlow

    容器化和AI是目前开发的大趋势。理想情况下,容器化可以将环境无缝迁移,将配置环境的成本无限降低:但是在容器中配置CUDA并运行TensorFlow一向是个难题。对于初学者以及没有深度学习工作站的用户,AWS和Azure推出了带独立显卡的云服务:但是按需实例价格不便宜,竞价式实例价格公道然而虚拟机不能重启,导致不能按需挂载硬盘并保存工作状态,用户需要编写大量代码时刻对虚拟机进行监控并对结果进行异地保存。Deep Systems对这个问题进行了研究并给出了很好的建议。 用户首先需要配置 CUDA:Deep Systems推荐使用runtime 安装,以免在升级后污染依赖环境。 安装 Dock
  • 11.04 20:43:18
    发表了文章 2021-11-04 20:43:18

    Docker面对Java将不再尴尬:Java 10为Docker做了特殊优化

    堆(Heap)大小 默认情况下,在64位的服务器中,JVM通常将最大堆大小设定为物理内存的1/4。而在容器化环境中,这确实没有什么意义,因为你通常拥有很多可以运行多个JVM的大内存的服务器。如果你在不同的容器中运行10个JVM,并且每个JVM最终都使用了1/4的RAM,那么你将面临过度使用机器RAM的窘境,并且有可能最终导致虚拟内存耗尽——结局就是用户将离你而去。 这还会抵消容器的另一项重要优势,即构建及测试的容器镜像必然能够在生产环境中拥有同样的运行效果。在较小的物理主机上的镜像环境中,一个容器可以很容易地正常工作,但在生产环境较大的主机上可能会因为超出容器的任何内存限制而被内核杀死。
  • 11.04 20:42:49
    发表了文章 2021-11-04 20:42:49

    徒手用 Docker 构建自己的 PHP 开发环境

    1. 前言 1.1 为什么要用 Docker ? 是否有这样的场景,你搞了一个项目,在本地开发时需要搭建环境,放到线上时也需要搭建环境,到公司想暗戳戳玩一下要搭建环境,不搭还不行,因为你的环境依赖还挺多。这个时候如果有了Docker,只需要在机器上装个Docker,放上写好的Dickerfile,一行命令就自动完成这个事,方便又高效,岂不是很爽? 1.2 准备 接下来,本文介绍如何搭建一个PHP的开发环境,将用 zPhal-dockerfiles 做为例子,这是我为我的博客系统准备的一套Dockerfile。 现在不管是windows,mac还是linux,docker都可以很好支持,包
  • 11.04 20:41:53
    发表了文章 2021-11-04 20:41:53

    Docker实践,来自沪江、滴滴、蘑菇街架构师的经验之谈

    架构师小组交流会:每期选一个时下最热门的技术话题进行小组交流。 第一期主题:容器实践。Docker 作为当前最具颠覆性的开源技术之一,其轻量虚拟化、可移植性是CI/CD,DevOps,微服务的重要实现技术。但目前技术还不够成熟,在生产实践中会遇到不少坑。本期参与小组交流的是国内较早采用 Docker 实践的公司。 参与嘉宾:沪江架构师黄凯、滴滴架构师田智伟、蘑菇街架构师张振华、蘑菇街运维架构师向靖、七牛技术总监袁晓沛、扇贝技术总监丁彦
  • 11.04 20:41:21
    发表了文章 2021-11-04 20:41:21

    共享变量的并发读写

    我blog上的老文,已经沉了,在专栏发一下。 在高性能并发服务器中,对于共享对象的读写是最常见的操作之一,比如全局配置类对象的并发读取和更新,以及更复杂的如copy on write btree、堆栈等的并发读写,最基本的操作都可以简化理解为通过全局共享的指针,并发读取和更新指针所指向对象的操作。 最简单的模型如下所示,一个包含了多个字段的结构体: struct GConf { int64_t a; int64_t b; int64_t c; }; 可以通过一个全局指针struct gConf *g_conf进行访问。有多个线程会同时读取或更新这个对象,要求任何时刻读取到的内容
  • 11.04 20:40:41
    发表了文章 2021-11-04 20:40:41

    传统应用的docker化迁移

    Docker是云技术和IT技术的未来,这一点正在被越来越多的公司认识到,但是对于传统企业来说,如何将传统的应用迁移到Docker是一个迫切需要解决的问题。传统企业,尤其是国内的传统企业,IT建设普遍滞后,当大多数互联网公司都在大面积使用Docker的时候,传统企业还在为虚拟化、公有云[注]和敏捷开发挣扎。很多企业都在提工业4.0,但是信息化建设却没有提高到一定的高度。企业的信息化程度,很大程度上决定了企业的生产效率,而 Docker则从应用层面提出了非常好的解决方案。本文也将从迁移的角度来阐述如何在传统企业中使用Docker。 传统应用容器化迁移的思考 对于传统应用来说,使用和不使用Dock
  • 11.04 20:37:53
    发表了文章 2021-11-04 20:37:53

    Docker技术商业落地的思考

    Docker的火热,催生了人们对于其商业模式的探讨,虽然目前Docker还有很多有待完善之处,但这并不妨碍人们对于Docker的追捧,但我们也应理性地看到,Docker并不是万能药,对其商业模式的探讨,将有力促进Docker的健康发展。 Docker技术虽然刚问世3年,但其发展如火如荼,受到大量企业客户和个人开发者的追捧,作为一项开源技术,Docker有一点和Java很像,那就是它们都是标准。作为标准的企业级应用开发语言,绝大多数企业内部的业务应用都是用Java开发的,而Docker正在成为应用封装的标准,未来企业内部的业务应用大多会封装成Docker的形式。 标准化最大的好处是带
  • 11.03 21:24:02
    发表了文章 2021-11-03 21:24:02

    Kubernetes Operator不仅仅用于数据库,关于它你要知道这4点

    如果没有真正的自动化,你就无法充分发挥容器的潜力。这就是Kubernetes Operator越来越重要的原因。 Kubernetes的一个关键优势是,它使现代应用程序和基础设施带来的许多运维工作实现自动化。而Kubernetes Operator被认为是实现这一优势的重要手段。 什么是Kubernetes Operator? 让我们回顾一下,什么是Kubernetes Operator,并给出它们如何工作的示例。 “Operator是控制用户资源的Kubernetes API的客户端。”Nexient的DevOps主管Matthew Dresden说,“此功能通过监控事件而不编辑Ku
  • 11.03 21:23:07
    发表了文章 2021-11-03 21:23:07

    Kubernetes Operator不仅仅用于数据库,关于它你要知道这4点

    如果没有真正的自动化,你就无法充分发挥容器的潜力。这就是Kubernetes Operator越来越重要的原因。 Kubernetes的一个关键优势是,它使现代应用程序和基础设施带来的许多运维工作实现自动化。而Kubernetes Operator被认为是实现这一优势的重要手段。 什么是Kubernetes Operator? 让我们回顾一下,什么是Kubernetes Operator,并给出它们如何工作的示例。 “Operator是控制用户资源的Kubernetes API的客户端。”Nexient的DevOps主管Matthew Dresden说,“此功能通过监控事件而不编辑Ku
  • 11.03 21:22:05
    发表了文章 2021-11-03 21:22:05

    你觉得Helm 3无聊?其实这说明它成熟了

    如果你听说过关于Helm 3的唯一一件事就是它删除了Tiller动态配置文件生成工具,那么你已经知道最重要的一点:该项目经历了一次重大的重写,以赶上Kubernetes的发展并消除长期的安全问题。 这是项目成熟的标志,也反映在其他关键开发中,如更好的补丁合并、对可用性(包括发布管理)的重大改进,以及对Helm 2 chart的明确支持生命周期。 微软的Helm主程序经理Bridget Kromhout表示,对于安全性和稳定性来说,这是一个很好的信号。 “Helm 3更简单,更安全,它可能不会吸人眼球,但这些功能足以让运维大规模系统的人高兴。" “一个项目删除大块代码,这是成熟的标志。”
  • 11.03 21:19:06
    发表了文章 2021-11-03 21:19:06

    PostgreSQL安装、配置及简单使用方法

    一、PostgreSQL简介 1、什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON何JSONB类型,数组类型)和自定义类型。而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数、触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python、PL/Tcl,等等。 2、PostgreSQL数据库的优势 PostgreSQL数据库是目前功能最强大的开源数据库,它是最接近工业标准SQL
  • 11.03 21:17:29
    发表了文章 2021-11-03 21:17:29

    处理令人心烦的数据库事务日志 (SQL Server Transaction Log Files)

    经常, 我们会被过快增长的数据库事务日志Transaction Log而困扰, 如果我们没有正确及时的处理, 可能会造成数据库交易无法进行, 服务器磁盘空间占光等问题. 在SQL Server的使用过程中, 我经常帮助用户和数据库的维护人员处理日志Transaction Log太大后造成的系统瘫痪的问题. 其实这个问题很容易避免. 今天我给大家分享下, 是什么造成了日志增长过大的问题. 和如何避免这种问题再次发生. 该文章的语句适用于SQL Server 2015 及其以后的版本 每一个数据库至少有两个文件: 一个是数据文件(Data file), 一个是事务日志文件(Transaction
  • 11.03 21:16:17
    发表了文章 2021-11-03 21:16:17

    SQL Server触发器总结

    触发器的简介: 触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。SQL3的触发器是一个能由系统自动执行对数据库修改的语句。 触发器可以查询其他表,而且可以包含复杂的sql语句。它们主要用于强制服从复杂的业务规则或要求。例如:您可以根
  • 11.03 21:15:45
    发表了文章 2021-11-03 21:15:45

    MySql查询性能优化

    避免向数据库请求不需要的数据 在访问数据库时,应该只请求需要的行和列。请求多余的行和列会消耗MySql服务器的CPU和内存资源,并增加网络开销。 例如在处理分页时,应该使用LIMIT限制MySql只返回一页的数据,而不是向应用程序返回全部数据后,再由应用程序过滤不需要的行。 当一行数据被多次使用时可以考虑将数据行缓存起来,避免每次使用都要到MySql查询。 避免使用SELECT *这种方式进行查询,应该只返回需要的列。 查询数据的方式 查询数据的方式有全表扫描、索引扫描、范围扫描、唯一索引查询、常数引用等。这些查询方式,速度从慢到快,扫描的行数也是从多到少。可以通过EXPLAIN语句中的ty
  • 11.03 21:14:44
    发表了文章 2021-11-03 21:14:44

    对Oracle 、SQL Server、MySQL、PostgreSQL数据库优缺点分析

    Oracle Database Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。 优点 1. Oracle 能在所有主流平台上运行(包括 windows)完全支持所有工业标准采用完全开放策略使客户选择适合解决方案对开发商全力支持。 2. Oracle 并行服务器通过使组结点共享同簇工作来扩展wi
  • 11.03 21:13:38
    发表了文章 2021-11-03 21:13:38

    怎样才能写出高质量的SQL语句?

    网上关于sql优化的答案数不胜数,可是篇幅太长,看一下滚动条就没有要看下去的欲望,这里自己总结精简了一下,全文1200字,阅读需要5分钟,还有很多不足之处望大佬多多指点~ 字段设计 价格使用定点数decimal 小单位大数额避免出现小数 单表字段不宜过多(最多30) 尽可能使用 not null 关联表的设计 一对多(使用外键) 多对多(单独新建一张表将多对多拆分成两个一对多) 一对一(如商品的基本信息(item)和商品的详细信息(item_intro),通常使用相同的主键或者增加一个外键字段(item_id)) 范式
  • 11.03 21:13:06
    发表了文章 2021-11-03 21:13:06

    SQL Server数据库DDL变更监控

    数据库的DDL语言, 就是关系型数据库的三大类语言中的一种, 数据定义语言(Data Definition Language), 主要是数据结构和数据库对象的定义. 有CREATE , ALTER, DROP 等语句组成. 工作中经常需要对数据对象变更进行监控, 可能存在以下的场景: 监控所有的变更, 并保留变更记录. 比如对某些表结构的变更可能需要对其他的数据库的的表进行同步变更. 可能某些View的改变需要同步修改默写Stored Procedure 存储过程. 某些变更需要同步修改相应的应用程序. 经过研究, 可以通过全局触发器和自定义的监控Stored Procedure来实现.
  • 11.03 21:12:28
    发表了文章 2021-11-03 21:12:28

    sqlserver 学习问题总结

    1.SQLSERVER 中GO的作用** go 向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。go是把t-sql语句分批次执行。(一步成功了才会执行下一步,即一步一个go) BEGIN 和 END 语句用于将多个 Transact-SQL 语句组合为一个逻辑块。在控制流语句必须执行包含两条或多条 Transact-SQL 语句的语句块的任何地方,都可以使用 BEGIN 和 END 语句。
  • 11.03 21:05:09
    发表了文章 2021-11-03 21:05:09

    SQL Server存储过程总结

    存储过程简介: 存储过程(Stored Procedure)是在大型数据库中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升 ​ ------来源于百度百科 存储过程的种类: 1系统存储过程 以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作。 2本地存储过程 用户创建的存储过程是由用户创建并完成某一特定功能的存储过程,事实上一般所说的存储过程就是指本地存储过程。
  • 发表了文章 2024-11-09

    SpringBoot 内部方法调用,事务不起作用的原因及解决办法

  • 发表了文章 2024-11-05

    向百度提交网站地图Sitemap

  • 发表了文章 2024-11-03

    SpringBoot_web开发-webjars&静态资源映射规则

  • 发表了文章 2024-11-03

    JavaScript获取url网址中域名后面的部分

  • 发表了文章 2024-11-01

    浏览器输入域名网址访问后的过程详解

  • 发表了文章 2024-11-01

    域名前缀和后缀html,为什么域名前要加www前缀,www是什么意思?

  • 发表了文章 2024-10-31

    python爬虫抓取91处理网

  • 发表了文章 2022-08-15

    一篇文章带你了解JVM常见面试题有哪些

  • 发表了文章 2022-08-15

    CSS浮动讲解

  • 发表了文章 2022-08-15

    知识总结:CSS定位

  • 发表了文章 2022-08-15

    技巧篇:CSS高级技巧详解

  • 发表了文章 2022-08-15

    关于List集合,这份总结很全面

  • 发表了文章 2022-08-15

    这篇文章教你轻松过dubbo+zk面试

  • 发表了文章 2022-08-15

    前端:Vue3为何使用Proxy实现数据监听

  • 发表了文章 2022-08-15

    JavaScript的深拷贝实现

  • 发表了文章 2022-08-15

    最近面试了13家企业软件测试岗位,面试题整理

  • 发表了文章 2022-08-15

    揭秘什么是面向接口编程

  • 发表了文章 2022-08-15

    Spring Cloud Alibaba 新一代微服务解决方案

  • 发表了文章 2022-08-15

    前端:如何在 JavaScript 中获取当前日期

  • 发表了文章 2022-08-15

    前端:给新手看的 React Hooks 教程

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息