java技术圈 为您找到相关结果 1231

为什么大公司一定要使用 DevOps?

究竟什么是DevOps? 要想回答这个问题,首先要明确DevOps这个过程参与的人员是谁,即开发团队和IT运维团队。那么,DevOps的意图是什么呢?即在两个团队之间,建立良好的沟通和协作,更快更可靠的创建高质量软件。 事实上,并不是这两个团队之间的协作帮助交付了更好的软件,而是“开发”和“运维”团队之间的统一导致了软件的改进,并以更快的速度交付。我们不要忘记DevOps工具在实现自动化方面所扮演的角色。 开发和运维“一体”的感觉是由开发人员和操作工程师之间的技能组合和实践的桥接以及自动化(DevOps)工具的实现引起的。世界各地的大型互联网公司都已采用DevOps方法来彻底改进其性能、安全性和团队动态。 在本篇文章中,让我们看看什么是DevOps,以及它为什么如此重要。我们将跟踪DevOp...阅读全文

博文 2019-10-18 08:03:39 CORNERSTONE

停班不停工,远程办公助力击穿疫情下企业困局

2020年的开局太不寻常,一场新冠疫情闹得大家都过不好年,这个春节假期对于我们来说可能是史上最长春节。除了待在家里不能出门外,对我们生活并没有其他的影响。但疫情对各大企业的影响可不是那么简单了。 因疫情原因,很多企业都延长了假期,同时也组织团队成员们开启了远程办公的模式。没办法,日子还是要过的,开工也是要开工的,市场可不会等一切恢复正常才开始运转。 但作为职场从业者,我们也要体谅一下企业家,这两年很多中小企业发展也不容易,就业市场去年就已经相当严峻,如果企业抗不下去,那么从业者也会遭遇职场寒冬。 有人说了,企业那么有钱,不就延期上班,有那么夸张么? 能这么问的,一定是对现金流没啥概念的,很多时候不是企业没钱,而是现金流扛不过去,资金链断...阅读全文

敏捷开发的那些事

“敏捷”这个词近几年非常火,经常会有人问:“我们应该怎样开始做敏捷?”或者:“能不能来帮我们推一下敏捷?敏捷有很多实践,管理的、工程的都有,但敏捷绝非我们看到的站会、持续集成、TDD等那么简单,真正的敏捷体系是从理念到文化的一次变革。 敏捷作为一种快速应对需求变化的新兴软件开发模式,正受到越来越广泛的关注和应用。它强调快速验证,表现为快速上线、快速根据反馈迭代产品。 今天在这里给大家推荐一款敏捷项目管理平台—CORNERSTONE,那么,究竟是什么样的呢?让我们一起来体验吧~ CORNERSTONE 敏捷项目管理解决方案特点为全角色、全流程、支持中大型团队: 提供包含项目管理、产品、运营、研发、测试等各职能角色在内的完整解决方案。 为需求管理、迭代规划、进度跟踪等经典 Scrum 环节提供工...阅读全文

博文 2020-03-19 07:11:56 CORNERSTONE

当“B”AT成为历史,分析百度没落的底层原因是什么?

曾经百度,腾讯,阿里巴巴组成了互联网的三座大山——BAT,但是现在百度却偷偷掉队了,BAT中为什么只有百度掉队,因为腾讯、阿里没遇到过危机吗?不是。3Q大战腾讯被360狠狠地打了一记耳光,10月围城、支付宝事件迫使阿里深陷舆论漩涡。但是现在百度市值400亿美金左右,阿里巴巴和腾讯的市值都是百度的12倍不止。 无论从市值上来说,还是对人们生活来说,百度目前都远远不能和腾讯、阿里相提并论。 ![image.png](https://img-blog.csdnimg.cn/20200526154616309.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG...阅读全文

博文 2020-05-26 08:27:03 CORNERSTONE

【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池)

> 大数据 > druid > 【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池) 【干货】一文理解Druid原理架构(时序数据库,不是ali的数据库连接池) druid wangting 2年前 (2018-08-07) 1430次浏览 1个评论 Druid.io(以下简称Druid)是2013年底开源出来的, 主要解决的是对实时数据以及较近时间的历史数据的多维查询提供高并发(多用户),低延时,高可靠性的问题。 Druid简介: Druid是一个为在大数据集之上做实时统计分析而设计的开源数据存储。这个系统集合了一个面向列存储的层,一个分布式、shared-nothing的架构,和一个高级的索引结构,来达成在秒级以内对十亿行级别的表进行任意的探索分析。 互联网技术的快...阅读全文

博文 2020-05-15 10:29:00 程序员灯塔

一文读懂Apache Kylin

一文读懂Apache Kylin“麒麟出没,必有祥瑞。” —— 中国古谚语 Kylin思维导图 前言 随着移动互联网、物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临。但是海量数据的收集只是大数据技术的第一步,如何让数据产生价值才是大数据领域的终极目标。Hadoop的出现解决了数据存储问题,但如何对海量数据进行OLAP查询,却一直令人十分头疼。 企业中的查询大致可分为即席查询和定制查询两种。之前出现的很多OLAP引擎,包括Hive、Presto、SparkSQL等,虽然在很大程度上降低了数据分析的难度,但它们都只适用于即席查询的场景。它们的优点是查询灵活,但是随着数据量和计算复杂度的增长,响应时间不能得到保证。而定制查询多数情况下是对用户的操作做出实时反应,H...阅读全文

博文 2020-04-30 04:52:16 简书

中小企业数字化转型应从业务流程自动化开始

由于经济下行的压力加上黑天鹅因素频发,带来了更多不确定性,大量中小企业存在迫切的增效降本需求。 同时,他们并不想投入大量成本以应对未知变化,期望尽快看得见成效。 对于中小企业来说,实现业务自动化刻不容缓,不仅可以提高业务管理效率,还可以帮助企业节省人力成本! 一、什么是业务自动化 业务自动化,是利用技术对完成一种特别功能或工作流的活动或服务进行自动化。 自动化的业务流程以协作管理来改善企业整体的工作流,实现更高的效率,用以改变业务需要,减少人为错误并明晰工作角色和责任。 业务自动化的本质,并不仅仅是替代“纸”和“Excel”,而是更关注怎样提升在数据传递中的时效性、准确性以及高效率和自动化。 二、业务自动化对中小企业的好处 业务自动化给中小企业带来的好处主要有两个方面: 一是提升生产效率,进...阅读全文

大数据实用组件Hudi--实现管理大型分析数据集在HDFS上的存储 - 云+社区

问题导读 1.什么是Hudi? 2.Hudi对HDFS可以实现哪些操作? 3.Hudi与其它组件对比有哪些特点? 前两天我们About云群大佬公司想了解Hudi ,并上线使用。Hudi 或许大家了解的比较少,这里给大家介绍下Hudi这个非常实用和有潜力的组件。 Hudi是在HDFS的基础上,对HDFS的管理和操作。支持在Hadoop上执行upserts/insert/delete操作。这里大家可能觉得比较抽象,那么它到底解决了哪些问题? Hudi解决了我们那些痛点 1.实时获取新增数据 你是否遇到过这样的问题,使用Sqoop获取Mysql日志或则数据,然后将新增数据迁移到Hive或则HDFS。对于新增的数据,有不少公司确实是这么做的,比较高级点的,通过Shell调用Sqoop迁移数据实现自动...阅读全文

博文 2022-03-23 12:52:09 腾讯云

OLAP中roll-up和drill-down和slicing?

拿沃尔玛来说,现在要进行OLAP分析,针对三个维分别是时间维,商品维和地点维,这三个维度抽象成图像就是一个立方体,也就是Data Cube,在时间维上是四个季度,在地点维上,是北京、洛杉矶、伦敦、东京、柏林等等,在商品维上是电子类、食品类、生活用品类,Data Cube中的每一个小立方体表示某个地点(比如北京),在某个时间(比如第一季度)在某类商品上(比如电子类)的销售额。 现在开始Rool-Up,就是将细度减少,比如你将地点扩大为北美洲、亚洲、欧洲(这是根据你原有的地点对应有哪些大洲来扩大的),现在每一个小立方体的含义就变成在某个大洲(比如亚洲)、某个时间(第一季度)、某类商品(电子类商品)的销售额。简单来说,Rool-UP类似对维度的汇总。 而Drill-Down就是将细度增加,比如我们...阅读全文

博文 2020-08-09 11:50:15 知乎

一文探讨堆外内存的监控与回收 | 徐靖峰

引子记得那是一个风和日丽的周末,太阳红彤彤,花儿五颜六色,96 年的普哥微信找到我,描述了一个诡异的线上问题:线上程序使用了 NIO FileChannel 的 堆内内存(HeapByteBuffer)作为缓冲区,读写文件,逻辑可以说相当简单,但根据监控,却发现堆外内存(DirectByteBuffer)飙升,导致了 OutOfMemeory 的异常。 由这个线上问题,引出了这篇文章的主题,主要包括:FileChannel 源码分析,堆外内存监控,堆外内存回收。 问题分析 & 源码分析根据异常日志的定位,发现的确使用的是 HeapByteBuffer 来进行读写,但却导致堆外内存飙升,随即翻了 FileChannel 的源码,来一探究竟。 FileChannel 使用的是 IOUtil 进行...阅读全文

博文 2020-04-22 10:55:31 个人博客

互联网女皇疫情报告,数字化企业将在今后竞争中获得优势

当地时间周五,有着“互联网女皇”之称的Bond Capital合伙人Mary Meeker发布了最新一期的《互联网趋势报告》,指出新冠疫情的迅速传播与1906年的加州大地震有着类似的影响。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200423142230754.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) Mary Meeker在报告中指出,Covid-19正在以我们刚刚开始了解的方式改变现代...阅读全文

Linux中Buffer和Cache的区别 - D_R_Y

1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。 Cache并不是缓存文件的,而是缓存块的(块是I/O读写最小的单元);Cache一般会用在I/O请求上,如果多个进程要访问某个文件,可以把此文件读入Cache中,这样下一个进程获取CPU控制权并访问此文件直接从Cache读取,提高系统性能。 2. Buffer:缓冲区,用于存储速度不同步的设备或优先级不同的设备之间传输数据;通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设...阅读全文

博文 2020-06-21 04:42:58 博客园

MapReduce 数据倾斜原因和解决方案_一次次尝试

MapReduce简介 MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义: 1)MapReduce是一个基于集群的高性能并行计算平台(Cluster Infrastructure)。它允许用市场上普通的商用服务器构成一个包含数十、数百至数千个节点的分布和并行计算集群。 2)MapReduce是一个并行计算与运行软件框架(Software Framework)。它提供了一个庞大但设计精良的并行计算软件框架,能自动完成计算任务的并行化处理,自动划分计算数据和计算任务,在集群节点上自动分配和执行任务以及收集计算结果,将数据分布存储、数据通信、容错处理等并行计算涉及到的很多系统底层的复杂细节交由系统负责处理,大大减少了软件开发人员的负担。 3)MapReduce是一...阅读全文

博文 2021-02-22 04:44:09 CSDN博客_mapreduce数据倾斜原因

如何有效利用企业资源,发挥Scrum最大优势?

Scrum与组织的关系 ![image.png](https://img-blog.csdnimg.cn/20191224172145560.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) Scrum是一种能使业务变得敏捷的框架,而企业恰恰需要变得敏捷。只是,企业本身有时候并没有足够的能力来帮助Scrum团队的成长,甚至还会阻碍Scrum团队的成长。 企业能以什么样的方式最大限度地发挥Scrum的优势?又在哪些方面阻碍了个人的发展? 企业本身所具备的公...阅读全文

博文 2019-12-25 08:19:34 CORNERSTONE

DevOps落地实践,BAT系列,敏捷看板

DevOps落地实践,BAT系列,敏捷看板 21/100 发布文章 qq_41137493 DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。BAT在2014年左右,甚至更早的时候,内部的DevOps系统就已经差不多成型了,比如腾讯的织云、蓝鲸,阿里的AOne,百度的效率云等。在DevOps的研发过程中,好的看板功能有助于优化项目管理、提升开发效率,是较重要的功能之一。本文从需求分析角度入手,分析DevOps产品对看板的需求,并结合[CORNERSTONE](https://www.cornerstone365.cn/)一站式云端DevOps平台看板部分的实际开发经验和用户反馈向大家介绍DevOps看板的设计实践之路。 一.DevO...阅读全文

博文 2019-10-16 09:59:38 CORNERSTONE

为什么 MongoDB 使用 B 树?

为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。我们在这一系列前面的文章曾经分析过 为什么 MySQL 使用 B+ 树,有读者在文章下面留言,希望能出一个为什么 MongoDB 使用 B 树的对比文章,这是一个比较好的问题,MySQL 和 MongoDB 两种不同类型的数据库使用了相似却不同的数据结构,为什么 MySQL 选择使用 B+ 树而 MongoDB 使用 B 树呢?概述MongoDB 是一个通用的、面向文档的分布式数据库[^1],这是官方对 MongoDB 介绍。区别于传统的关系型数据库...阅读全文

博文 2020-02-15 03:28:04 mp.weixin.qq.com

【hive】cube和rollup函数 - zzhangyuhang

cube 数据立方体(Data Cube),是多维模型的一个形象的说法.(关于多维模型这里不讲述,在数据仓库设计过程中还挺重要的,有兴趣自行查阅) 立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度 为什么叫数据立方体? 一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间; 另一方面是为了与传统关系型数据库的二维表区别开来 下图为数据立方体的形象图 其实并不用把cube理解得很高大上,只要理解为分别按照不同维度进行聚合. hive中也有cube函数,可以实现多个任意维度的查询 cube(a,b,c)则首先会对(a,b,c)进行group by, 然后依次是(a,b),(a,c),(a),(b,c),(b),(c),最后在对全表进行group by,他会统计所选列...阅读全文

博文 2022-07-08 08:28:34 博客园

MGW——美团点评高性能四层负载均衡

本文整理自美团点评技术沙龙第14期:美团背后的故事-你不知道的美团云。美团点评技术沙龙由美团点评技术团队主办,每月一期。每期沙龙邀请美团点评及其他互联网公司的技术专家分享来自一线的实践经验,覆盖各主要技术领域。目前沙龙会分别在北京、上海和厦门等地举行,要参加下一次最新沙龙活动?赶快关注微信公众号“美团点评技术团队”。本期沙龙包括三场讲座:美团云Docker平台、美团云对象存储系统、美团四层负载均衡网关MGW。其他几场讲座的图文实录会陆续发表,请继续关注。在高速发展的移动互联网时代,负载均衡有着举足轻重的地位,它是应用流量的入口,对应用的可靠性和性能起着决定性的作用,因此负载均衡需要满足高性能、高可靠两个特点。MGW是美团点评自研的一款四层负载均衡,主要用于替代原有环境的四层负载均衡LVS,目...阅读全文

博文 2021-09-08 03:33:51 美团技术团队

基于CORNERSTONE的销售管理之道

由于所销售的产品性质、所具有的销售规模、所形成的销售团队组织形式等各不相同,不同的公司对销售管理信息系统有着不同的需求。 一般常见的公司销售结构为:销售总监-销售经理-销售主管-销售业务员。事实表明,在销售队伍规模较小的情况下,依靠传统的管理模式,销售系统可以维持正常运转。而一旦业务发展,销售地域扩大,销售队伍增大,销售经理们就会发现越来越难以控制、掌握整个销售流程。困难来自于需要管理和控制的各种销售信息的爆炸式增长。 而[CORNERSTONE](https://www.cornerstone365.cn/)的出现,让大家告别的传统的管理模式,一站式同步在线协同协作,解决了销售信息的传递问题,使得较大范围内的信息迅速传递成为可能,而销售信息的及时传递使经理们可以对信息进行自动化管理。下面我...阅读全文

H.264编解码原理浅析

作者:张哲源 声网 Agora 视频算法工程师最近看到了一句话“想讲清一件事情,拍个短视频就够了;如果不够,就来一场直播”。视频成了最主流的“表达方式”。但这背后,离不开一项技术。可以说,如果没有它,我们甚至无法通过互联网看视频。这项技术就是视频编解码技术。为什么我们需要视频编码呢?因为我们需要通过编码压缩视频,节省对传输带宽和储存空间的需求。我们都知道,视频是由图像组成的。我们就先拿一张图片来说吧。如果想要看到一张1920*1080分辨率的高清图片,我们一共需要1920*1080*8*3个bit。1920*1080 是像素的数量,3 代表的是RGB三个值,而 8bit 则是每个像素值的大小。这样一张图片,算下来总共 47Mb。如果我们要观看 1920*1080 的视频呢?我们现在的视频一般...阅读全文

博文 2021-09-09 03:20:14 知乎

集成JMX

在Spring中,可以方便地集成JMX。 那么第一个问题来了:什么是JMX? JMX是Java Management Extensions,它是一个Java平台的管理和监控接口。为什么要搞JMX呢?因为在所有的应用程序中,对运行中的程序进行监控都是非常重要的,Java应用程序也不例外。我们肯定希望知道Java应用程序当前的状态,例如,占用了多少内存,分配了多少内存,当前有多少活动线程,有多少休眠线程等等。如何获取这些信息呢? 为了标准化管理和监控,Java平台使用JMX作为管理和监控的标准接口,任何程序,只要按JMX规范访问这个接口,就可以获取所有管理与监控信息。 实际上,常用的运维监控如Zabbix、Nagios等工具对JVM本身的监控都是通过JMX获取的信息。 因为JMX是一个标准接口,...阅读全文

博文 2021-11-18 07:17:50 廖雪峰的官方网站

总第405篇2020年 第29篇很多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰,作为新一代的低延迟垃圾回收器,ZGC在大内存低延迟服务的内存管理和回收方面,有着非常不错的表现。本文从GC之痛、ZGC原理、ZGC调优实践、升级ZGC效果等维度展开,详述了ZGC在美团低延时场景中的应用,以及在生产环境中取得的一些成果。希望这些实践对大家有所帮助或者启发。ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:停顿时间不超过10ms;停顿时间不会随着堆的大小,或者活跃对象的大小而增加;支持8MB~4TB级别的堆(未来支持16TB)。从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介绍ZGC在低...阅读全文

博文 2020-08-07 06:12:22 mp.weixin.qq.com

华为敏捷项目管理实践分享

当前,企业面对的商业环境瞬息万变,移动、社交、物联网、云计算、大数据、AI等蓬勃发展。新技术突飞猛进的同时,新业务形态越来越复杂、需求变化越来越快、软件规模越来越大、交付周期越来越短、开发和维护成本越来越高,产品交付的风险急剧增加,传统研发模式无法适应快速变化的市场需求。 为了应对这些挑战,业界软件开发模式经历了持续的改进和变迁,从20世纪60年代作坊式开发,到80年代过程控制模型,到2001年敏捷、DevOps模式探索。 ![image.png](https://img-blog.csdnimg.cn/20200426140606397.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR...阅读全文

博文 2020-04-26 06:47:06 CORNERSTONE

Flink中task的failover机制_Wu_San的博客

浅谈flink-cdc的使用 chenzuoli的博客 12-19 3961 Flink cdc1.x和2.x区别太大了,如果能升级最好了,不能升级,那么我们怎么避免1.x给我们带来的问题呢? 下面结合我在公司生产的实践,给大家说说。 解决Ubuntu挂载U盘失败的解决方法 csd_meb的专栏 03-03 9096 问题:unable to mount …: not authorized 首先:sudo fdisk -l 列出当前系统下的文件设备 然后创建一个临时目录,用于挂在U盘 sudo mkdir /media/external 这里也可以换其他的目录 最后将U盘挂在到刚刚创建的临时目录,由于我的U盘是fat32格式,所以使用vfat参数,/dev/s 深入理解 Flink 容错机制...阅读全文

一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) - aspirant

mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 ---redis的跳表原理 时间复杂度O(logn)(阿里) 参考:kafka如何实现高并发存储-如何找到一条需要消费的数据(阿里) 参考:二分查找法:各种排序算法的时间复杂度和空间复杂度(阿里) 在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引(MyISAM 表)和R-Tree索引,本文讲的是B-Tree索引。 后面的索引原理一定要看,太重要了,阿里两个人都问这个mysql的索引原理 mysql使用了 ...阅读全文

博文 2021-04-03 05:46:30 博客园

平衡二叉树、B树、B+树、B*树 理解其中一种你就都明白了

1、平衡二叉树概念平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构;特点:平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则:(1)非叶子节点只能允许最多两个子节点存在。(2)每一个非叶子节点数据分布规则为左边的子节点小当前节点的值,右边的子节点大于当前节点的值(这里值是基于自己的算法规则而定的,比如hash值);平衡树的层级结构:因为平衡二叉树查询性能和树的层级(h高度)成反比,h值越小查询越快、为了保证树的结构左右两端数据大致平衡降低二叉树的查询难度一般会采用一种算法机制实现节点数据结构的平衡,实现了这种算法的有比如Treap、红黑树,使用平衡二叉树能保...阅读全文

面对复杂业务,if-else coder 如何升级?_阿里技术

阿里云开发者 1.5k 面对复杂业务,if-else coder 如何升级? 程序员 发布于 9月25日 简介: 针对业务在不同场景下的差异,我们常常会习惯性地使用if-else来实现不同的业务逻辑,久而久之代码越来越难以维护。那么如何消除这些if-else?面对复杂业务应如何思考和分析?本文分享阿里高级技术专家张建飞(Frank)关于复杂业务治理的方法论,介绍一种多维度分析问题的方法:矩阵分析法。You should not be a if-else coder, should be a complexity conquer.——Frank这篇文章,是对之前我在《阿里高级技术专家方法论:如何写复杂业务代码?》说的“自上而下的结构化分解 + 自下而上的抽象建模”方法论的升级。因为在之前的方法...阅读全文

博文 2020-09-26 12:24:18 SegmentFault 思否

为什么大公司都开始用SaaS了?

SaaS应用程序的核心指导原则之一,是通过应用程序的共享多租户体系结构为尽可能多的客户提供服务。 用户之所以能从这个共享模式中受益,是因为软件供应商能够利用规模经济,借助广泛的功能和工作流程、高水平的安全性和服务的可用性来传递价值。 这在以前只有“财富500强”公司才能做到。 不过,这种基于云的现成软件解决方案的民主化,它的另一面是,在谈及根据自身实际需求定制解决方案时,企业必须权衡一定程度的灵活性。 在SaaS之前,公司采用的其中一个传统方法是购买现成的本地解决方案,然后外包给承包商定制及实现。 另一种方法是在公司内部构建你所需的软件,这对预算较高的大公司来说完全负担得起。 这两种方法使企业能够对IT解决方案进行更高程度的定制,但都存在令人头痛的问题,包括营运费用的维护,以及他们雄心勃勃的...阅读全文

Druid SqlParser理解及使用入门 - __lay

以前的项目中很少去思考SQL解析这个事情,即使在saas系统或者分库分表的时候有涉及到也会有专门的处理方案,这些方案也对使用者隐藏了实现细节。 而最近的这个数据项目里面却频繁涉及到了对SQL的处理,原来只是简单地了解Druid的SqlParser模块就可以解决,慢慢地问题变得越来越复杂,直到某天改动自己写的SQL处理的代码很痛苦的时候,意识到似乎有必要更加地了解一下相关的内容才行。 在了解学习的过程中,发现学习使用SqlParser还是得先了解ast(抽象语法树)这个概念,一搜索相关内容要么是编译原理相关的知识,要么是JavaScript的示例,光看Druid提供的SqlParser相关的Wiki文档又似懂非懂,不知道从哪里下手。 不管怎么样,看了不少碎片化的相关内容以后也收获了一些东西,这...阅读全文

博文 2020-08-10 03:49:36 博客园

实战分析一个运行起来会卡死的Go程序

序言最近一位非常热心的网友建议结合demo来分析一下goroutine的调度器,而且还提供了一个demo代码,于是便有了本文,在此对这位网友表示衷心的感谢!这位网友提供的demo程序可能有的gopher以前见过,已经知道了具体原因,但本文假定我们是第一次遇到这种问题,然后从零开始,通过一步一步的分析和定位,最终找到问题的根源及解决方案。虽然本文不需要太多的背景知识,但最好使用过gdb或delve调试工具,了解汇编语言及函数调用栈当然就更好了。本文我们需要重点了解下面这3个内容。调试工具无法准确显示函数调用栈时如何找到函数调用链;发生GC时,如何STOP THE WORLD;什么时候抢占调度不会起作用以及如何规避。本文的实验环境为AMD64 Linux + go1.12Demo程序及运行现象p...阅读全文

博文 2020-03-09 10:25:15 知乎

阿里妹导读:针对业务在不同场景下的差异,我们常常会习惯性地使用if-else来实现不同的业务逻辑,久而久之代码越来越难以维护。那么如何消除这些if-else?面对复杂业务应如何思考和分析?本文分享阿里高级技术专家张建飞(Frank)关于复杂业务治理的方法论,介绍一种多维度分析问题的方法:矩阵分析法。文末福利:《微服务灰度实践及解决方案》在线直播。You should not be a if-else coder, should be a complexity conquer. ——Frank这篇文章,是对之前我在《阿里高级技术专家方法论:如何写复杂业务代码?》说的“自上而下的结构化分解 + 自下而上的抽象建模”方法论的升级。因为在之前的方法论中,我们缺少一个多维度看问题的视角,这种维度思维的...阅读全文

博文 2020-09-26 12:21:34 mp.weixin.qq.com

MQTT比TCP协议好在哪儿?

登录后你可以不限量看优质回答私信答主深度交流精彩内容一键收藏登录查看全部 24 个回答程序员cxuan​微信搜:程序员cxuan,个人微信 lx252279279374 人赞同了该回答哈哈哈,终于找到一篇 MQTT 协议的问题了,我写过一篇关于 MQTT 基础文章,相信你看完之后就会对 MQTT 有详细的认识了。之前有位读者给我留言说想要了解一下什么是 MQTT 协议,顺便还把我夸了一把,有点不好意思啦。那么读者的要求必须要满足啊,所以现在 @一下这位小姐姐,来听课啦!什么是 MQTT 协议MQTT 协议的全称是 Message Queuing Telemetry Transport,翻译为消息队列传输探测,它是 ISO 标准下的一种基于发布 - 订阅模式的消息协议,它是基于 TCP/IP ...阅读全文

博文 2021-08-26 06:41:19 知乎

[白话解析] Flink的Watermark机制 - 罗西的思考

[白话解析] Flink的Watermark机制 0x00 摘要 对于Flink来说,Watermark是个很难绕过去的概念。本文将从整体的思路上来说,运用感性直觉的思考来帮大家梳理Watermark概念。 0x01 问题 关于Watermark,很容易产生几个问题 Flink 流处理应用中,常见的处理需求/应对方案是什么? Watermark究竟应该翻译成水印还是水位线? Watermark本质是什么? Watermark是如何解决问题? 下面我们就来简要解答这些问题以给大家一个大致概念,在后文中,会再深入描述。 问题1. Flink 流处理应用中常见的需求/方案是什么 聚合类的处理 Flink可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户...阅读全文

博文 2022-05-09 09:31:25 博客园

从Lambda架构到Kappa架构再到?浅谈未来数仓架构设计~

Linked大佬Jay Kreps曾发表过一篇博客,简单阐述了他对数据仓库架构设计的一些想法。从Lambda架构的缺点到提出基于实时数据流的Kappa架构。本文将在Kappa架构基础上,进一步谈数仓架构设计。 什么是Lambda架构? 借用Jay Kreps的一张图来看,Lambda架构主要由这几部分构成:数据源(Kafka),数据处理(Storm,Hadoop),服务数据库(Serving DB)。其中数据源和服务数据库是整个架构数据的入口和出口。数据处理则是分为在在线处理和离线处理两部分。 当数据通过kafka消息中间件,进入Lambda架构后,会同时进入离线处理(Hadoop)和实时处理(Storm)两个处理模块。离线处理进行批计算,将大量T+1的数据进行汇总。而实时处理则是进行流处理...阅读全文

博文 2022-07-08 09:31:17 阿里云开发者社区

前端大文件上传方法(深度好文)

首先祝大家端午节快乐!事业 家庭 更上一层楼。!最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较方便的文件拆分和拼接方法,因此服务端代码使用PHP进行示例编写。文件上传的几种方式首先我们来看看文件上传的几种方式。普通表单上传使用PHP来展示常规的表单上传是一个不错的选择。首先构建文件上传的表单,...阅读全文

博文 2020-06-12 09:08:50 知乎

Go语言实战笔记(五)| Go 切片

《Go语言实战》读书笔记,未完待续,欢迎扫码关注公众号flysnow_org,第一时间看后续笔记。 切片也是一种数据结构,它和数组非常相似,因为他是围绕动态数组的概念设计的,可以按需自动改变大小,使用这种结构,可以更方便的管理和使用数据集合。 内部实现 切片是基于数组实现的,它的底层是数组,它自己本身非常小,可以理解为对底层数组的抽象。因为机遇数组实现,所以它的底层的内存是连续非配的,效率非常高,还可以通过索引获得数据,可以迭代以及垃圾回收优化的好处。 切片对象非常小,是因为它是只有3个字段的数据结构:一个是指向底层数组的指针,一个是切片的长度,一个是切片的容量。这3个字段,就是Go语言操作底层数组的元数据,有了它们,我们就可以任意的操作切片了。 声明和初始化 切片创建的方式有好几种,我们先...阅读全文

博文 2020-03-11 02:53:47 飞雪无情的博客

[完结8周]LLM大语言模型算法特训,带你转型AI大语言模型算法工程师

![1.png](http://static.itsharecircle.com/240203/f48f86543178141dfbd806918149776f.png) 一、大语言模型(LLM)是基于海量文本数据训练的深度学习模型。它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。 二、这个大语言模型到底有多大? 拿 GPT 来说, GPT 其实出现了好几代,GPT 3 它有 45 个 t b 的训练数据,那么整个维基百科里面的数据只相当于他训练数据的 0. 6%。我们在这个训练的时候把这个东西称作语料,就语言材料,这个语料的量是可以说是集中到我们人类所有语言文明的精华在里面,这是一个非常非常庞大的一个数据库。 三、大模型的能力 2.1 涌...阅读全文

博文 2024-02-03 11:04:42 udbmaidns

数据库表连接的简单解释

关系型数据库最难的地方,就是建模(model)。 错综复杂的数据,需要建立模型,才能储存在数据库。所谓"模型"就是两样东西:实体(entity)+ 关系(relationship)。 实体指的是那些实际的对象,带有自己的属性,可以理解成一组相关属性的容器。关系就是实体之间的联系,通常可以分成"一对一"、"一对多"和"多对多"等类型。 在关系型数据库里面,每个实体有自己的一张表(table),所有属性都是这张表的字段(field),表与表之间根据关联字段"连接"(join)在一起。所以,表的连接是关系型数据库的核心问题。 表的连接分成好几种类型。 内连接(inner join) 外连接(outer join) 左连接(left join) 右连接(right join) 全连接(full jo...阅读全文

博文 2021-04-29 04:41:41 阮一峰的网络日志

ElasticSearch date_histogram按时间聚合统计_wanson2015的博客

按时间统计 如果搜索是在 Elasticsearch 中使用频率最高的,那么构建按时间统计的 date_histogram 紧随其后。 为什么你会想用 date_histogram 呢? 假设你的数据带时间戳。 无论是什么数据(Apache 事件日志、股票买卖交易时间、棒球运动时间)只要带有时间戳都可以进行 date_histogram 分析。当你的数据有时间戳,你总是想在 时间 维度上构建指标分析: 今年每月销售多少台汽车?这只股票最近 12 小时的价格是多少?我们网站上周每小时的平均响应延迟时间是多少? 虽然通常的 histogram 都是条形图,但 date_histogram 倾向于转换成线状图以展示时间序列。 许多公司用 Elasticsearch _仅仅_ 只是为了分析时间序列数...阅读全文

博文 2022-05-24 11:57:26 CSDN博客_date_histogram

深入学习MySQL事务:ACID特性的实现原理 - 编程迷思

事务是MySQL等关系型数据库区别于NoSQL的重要方面,是保证数据一致性的重要手段。本文将首先介绍MySQL事务相关的基础概念,然后介绍事务的ACID特性,并分析其实现原理。 MySQL博大精深,文章疏漏之处在所难免,欢迎批评指正。 一、基础概念 事务(Transaction)是访问和更新数据库的程序执行单元;事务中可能包含一个或多个sql语句,这些语句要么都执行,要么都不执行。作为一个关系型数据库,MySQL支持事务,本文介绍基于MySQL5.6。 首先回顾一下MySQL事务的基础知识。 1. 逻辑架构和存储引擎 图片来源:https://blog.csdn.net/fuzhongmin05/article/details/70904190 如上图所示,MySQL服务器逻辑架构从上往下可...阅读全文

博文 2021-08-17 06:36:55 博客园

关于 TCP/IP,运维必知必会的十个问题 - 云+社区

一、TCP/IP模型TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议。基于TCP/IP的参考模型将协议分成四个层次,它们分别是链路层、网络层、传输层和应用层。下图表示TCP/IP模型与OSI模型各层的对照关系。TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp 等等我们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传...阅读全文

博文 2021-08-26 04:07:25 腾讯云

刨根问底,Kafka消息中间件到底会不会丢消息

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。 为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。 认识 Kafka 看一下维基百科的定义 Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。 Kafka 架构 Kafka 的整体架构非常简单,是显式分布式架构,主要由 Producer、Broker(Kafka) 和 Consumer 组成。 Kafka架构(精简版) Pr...阅读全文

博文 2022-07-08 07:45:39 爱代码爱编程

时序数据库技术体系-时序数据存储模型设计 – 有态度的HBase/Spark/BigData

时序数据库技术体系中一个非常重要的技术点是时序数据模型设计,不同的时序系统有不同的设计模式,不同的设计模式对时序数据的读写性能、数据压缩效率等各个方面都有不同程度的影响。这篇文章笔者将会分别针对OpenTSDB、Druid、InfluxDB以及Beringei这四个时序系统中的时序数据模型设计进行介绍。 在详细介绍时序数据模型之前,还是有必要简单回顾一下时序数据的几个基本概念,如下图所示: 上图是一个典型的时序数据示意图,由图中可以看出,时序数据由两个维度坐标来表示,横坐标表示时间轴,随着时间的不断流逝,数据也会源源不断地吐出来;和横坐标不同,纵坐标由两种元素构成,分别是数据源和metric,数据源由一系列的标签(tag,也称为维度)唯一表示,图中数据源是一个广告数据源,这个数据源由publ...阅读全文

博文 2022-04-15 07:21:46 hbasefly.com

[完结11章]技术大牛成长课,从0到1带你手写一个数据库系统

学习地址1:https://pan.baidu.com/s/1OWDu5fNq_BXRUbLGrxzpJw 提取码:tjty 学习地址2:https://share.weiyun.com/Tp6ewDIJ 密码:6crcwd 今天跟大家交流一下关于开发一款数据库系统的相关事宜,从零开始,手把手带着大家一步步去实现这个功能,希望对大家有所帮助。 数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质 、处理对象和管理系统的集合体。 数据库系统DBS(Data Base System,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数...阅读全文

大型互联网公司一般都会要求消息传递最大限度的不丢失,比如用户服务给代金券服务发送一个消息,如果消息丢失会造成用户未收到应得的代金券,最终用户会投诉。为避免上面类似情况的发生,除了做好补偿措施,更应该在系设计的时候充分考虑各种异常,设计一个稳定、高可用的消息系统。认识 Kafka看一下维基百科的定义Kafka 是分布式发布-订阅消息系统。它最初由 LinkedIn 公司开发,之后成为 Apache 项目的一部分。Kafka是一个分布式的、可划分的、冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。Kafka 架构Kafka 的整体架构非常简单,是显式分布式架构,主要由 Producer、Broker(Kafka) 和 Consumer 组成。Kafka架构(精简版)Producer(生...阅读全文

博文 2022-07-08 07:45:07 mp.weixin.qq.com

Elasticsearch的mapping设置:enabled, index, doc_values, store, _source到底是什么鬼?

0x00 背景介绍最近尝试用ES + Kibana来快速搭建一个全新的可视化平台,有机会仔细阅读了一下ES的文档,发现mapping里有很多设置选项,初次看时令人眼花缭乱,若设置不当,有可能浪费存储空间,也有可能导致无法使用Aggregations,故在此记录一下重点内容。如有错误,恳请点击这里提issue,我会及时改正。 本文参照的版本为 Elasticsearch 5.6 0x01 配置项速查这里列出了各个选项的名称、作用以及注意事项,仅供速查使用。详细解释请阅读下文。 配置项 作用 注意事项 默认值 index 是否加入倒排索引 关闭后无法对其进行搜索 字段仍会存储到_source和doc_values 字段可以被排序和聚合 开启 _source 存储post到ES的原始文档 会占用很...阅读全文

博文 2022-03-23 12:53:36 IdeaWand

眼前一亮!2款免费手绘风流程图绘制工具

本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容...阅读全文

博文 2024-07-18 10:40:43 阿里云开发者社区

elasticsearch - ES系列之原来查看文档数量有这么多姿势_个人文章

ES系列之原来查看文档数量有这么多姿势犀牛饲养员发布于 2020-04-03 1、引言 有人可能觉得,查看文档数量不是很简单吗?直接 GET /_cat/count/index_name?v 不就可以了吗。 事实上远不止这么简单,比如嵌套文档的情况等。相信你看了我这篇文章之后你会感叹原来统计文档有这么多讲究啊。 2、正文 cat/count 首先是最常用的的方式,也是一种快速查询文档的优先推荐方式,cat count api我们使用kibana自带的电商索引来实验。 GET _cat/count/kibana_sample_data_ecommerce?v 返回, epoch timestamp count 1585910697 10:44:57 4675 cat count api的方式能...阅读全文

博文 2022-10-02 12:48:18 SegmentFault 思否

理解Hbase RowKey的字典排序,以及设计_hbase字典排序_一个行走的民的博客

理解Hbase RowKey的字典排序,以及设计 写点自己的理解和实践。 HBase是三维有序存储的,是指rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度是依照ASCII码表排序的。(比如A排在a前面) 先rowkey升序排序,rowkey相同则column key升序排序rowkey、column key相同则timestamp降序排序 如下: 假设存在table:test,family:info scan表得到结果如下: //列族默认VERSIONS值为1,可以通过命令:alter 'tableName','familyName',VERSINOS =>5来设置 //不同version保存不同时间戳的数...阅读全文

博文 2023-04-18 06:55:38 CSDN博客

蚂蚁集团智能可观测平台 HoloInsight 正式开源

今天,经过近一年的研发工作,很高兴和大家同步:HoloInsight 项目正式开源了代码主仓库的 GitHub 地址为:1.HoloInsight 介绍HoloInsight 是一款云原生时代的轻量化、全功能的智能可观测性技术平台。它是蚂蚁集团内部研发了近 10 年的观测平台 AntMonitor 的开源版本。经过多年大型互联网公司内部复杂场景的驱动,AntMonitor 在可观测领域沉淀了很多独特经验,是蚂蚁集团研发、测试、SRE 等人员进行故障应急处理和日常问题分析的重要平台。我们非常希望能将这些经验和业界进行共同探讨与共同演进,为此我们开源了 HoloInsight。HoloInsight 设计上是作为集数据采集、洞察分析、智能告警的一站式可观测综合解决方案,以帮助用户清晰观测整个软件...阅读全文

博文 2023-10-12 19:52:59 知乎