暂时未有相关云产品技术能力~
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
一天天的,PaaS深入人心,Cloud Foundry为首的传统PaaS,开始蓄力基础设施领域的 平台化和PaaS化,于是发现了PaaS中的问题 1 如何给应用打包 Cloud Foundry/OpenShift/Clodify都没给出答案,走向碎片化歪路 此时,名不见经传的PaaS创业公司do...
回溯历史源头相比于盛极一时的AWSOpenStack以Cloud Foundry为代表的PaaS项目,却成了当时云计算技术中的一股清流Cloud Foundry项目已经基本度过了最艰难的概念普及和用户教育阶段,开启了以开源PaaS为核心构建平台层服务能力的变革只...
Kafka不是一个单纯的消息引擎系统,而是能够实现精确一次(Exactly-once)处理语义的实时流处理平台 Storm/Spark Streaming/Flink,在大规模流处理领域主流 Kafka经过这么长时间不断的迭代,现在已经能够稍稍比肩这些框架 Kafka社区对于这些框架心存敬意 目前国内鲜有大厂将Kafka用于流处理的尴尬境地,毕竟Kafka是从消息引擎“半路出家”转型成流处理平台的,它在流处理方面的表现还需要经过时间的检验。
Apache Kafka是消息引擎系统,也是一个分布式流处理平台(Distributed Streaming Platform) Kafka是LinkedIn公司内部孵化的项目。LinkedIn最开始有强烈的数据强实时处理方面的需求,其内部的诸多子系统要执行多种类型的数据处理与分析,主要包括业务系统和应用程序性能监控,以及用户行为数据处理等。
1 什么是JVM的“无关性”? Java具有平台无关性,也就是任何操作系统都能运行Java代码.之所以能实现这一点,是因为Java运行在虚拟机之上,不同的操作系统都拥有各自的Java虚拟机,因此Java能实现"一次编写,处处运行".
1 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 1.1 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。
和其他机器通讯,就需要一个通讯地址,要给网卡配置这么一个地址。 1 配置IP地址 可以使用ifconfig,也可以使用ip addr。设置好了以后,用这两个命令,将网卡up一下,就可以开始工作了。 1.
先献上几个梗 1.1.1.1 不是测试用的,原来一直没分配,现在被用来做一个DNS了,宣传是比谷歌等公司的dns服务更保护用户隐私。 IP地址255.255.255.255,代表有限广播,它的目标是网络中的所有主机。
人用纸和笔来做运算,都是用十进制,直接用十进制和我们最熟悉的符号不是最简单么? 为什么计算机里我们最终要选择二进制呢? 来看看,计算机在硬件层面究竟是怎么表示二进制的,你就会明白,为什么计算机会选择二进制。
程序 = 算法 + 数据结构 对应到计算机的组成原理(硬件层面) 算法 --- 各种计算机指令 数据结构 --- 二进制数据 计算机用0/1组成的二进制,来表示所有信息 程序指令用到的机器码,是使用二进制表示的 存储在内存里面的字符串、整数、浮点数也都是用二进制表示的 万物在计算机里都是0和1,搞清楚各种数据在二进制层面是怎么表示的,是我们的必修课。
把对应的不同文件内的代码段,合并到一起,成为最后的可执行文件 链接的方式,让我们在写代码的时候做到了“复用”。 同样的功能代码只要写一次,然后提供给很多不同的程序进行链接就行了。 “链接”其实有点儿像我们日常生活中的标准化、模块化生产。
比尔·盖茨在上世纪80年代说的“640K ought to be enough for anyone” 也就是“640K内存对哪个人来说都够用了” 那个年代,微软开发的还是DOS操作系统,程序员们还在绞尽脑汁,想要用好这极为有限的640K内存 而现在,我手头的Mac Book Pro已经是16G内存了,上升了一万倍还不止。
既然程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在Linux下可以运行,而在Windows下却不行呢? 反过来,Windows上的程序在Linux上也是一样不能执行的 可是我们的CPU并没有换掉,它应该可以识别同样的指令呀!!! 如果你和我有同样的疑问,那这一节,我们就一起来解开。
用Google搜异常信息,肯定都访问过Stack Overflow网站 全球最大的程序员问答网站,名字来自于一个常见的报错,就是栈溢出(stack overflow) 从函数调用开始,在计算机指令层面函数间的相互调用是怎么实现的,以及什么情况下会发生栈溢出 1 栈的意义 先看一个简单的C程序 function.
CPU执行的也不只是一条指令,一般一个程序包含很多条指令 因为有if…else、for这样的条件和循环存在,这些指令也不会一路平直执行下去。 一个计算机程序是怎么被分解成一条条指令来执行的呢 1 CPU如何执行指令 CPU里差不多几百亿个晶体管 实际上,一条条计算机指令执行起来非常复杂 好在CP...
你在学写程序的时候,有没有想过,古老年代的计算机程序是怎么写出来的? 当年写程序,不像现在这样,都是用一种古老的物理设备,叫作“打孔卡(Punched Card)” 用这种设备写程序,没法像今天,掏出键盘就能打字,而是要先在脑海/纸写出程序,然后在纸带/卡片上打洞 这样,要写的程序、要处理的数据,就变成一条条纸带或者一张张卡片,之后再交给当时的计算机去处理 上世纪60年代晚期或70年代初期,Arnold Reinold拍摄的FORTRAN计算程序的穿孔卡照片 人们在特定的位置上打洞或者不打洞,来代表“0”或者“1”。
要提升计算机的性能,可以从上面这三方面着手。 通过指令数/CPI,好像都太难了。 因此工程师们,就在CPU上多放晶体管,不断提升CPU的时钟频率,让CPU更快,程序的执行时间就会缩短。
0 学习路线的知识点概括 学习计算机组成原理,就是学习计算机是如何协调运行的 计算机组成原理的英文叫Computer Organization Organization 意"组织机构"。 该组织机构能够进行各种计算、控制、读取输入,进行输出,达成各种强大的功能。
1 计算机的基本硬件组成 早期,DIY一台计算机,要先有三大件 CPU 内存 主板 1.1 CPU 计算机最重要的核心配件,中央处理器(Central Processing Unit)。 计算机的所有“计算”都是由CPU来进行的。
不知道你有没有产生过这些疑问: 桌面上的图标到底是啥?凭啥我在鼠标上一双击,就会出来一些不可描述的画面?都是从哪里跑出来的?凭什么我在键盘上噼里啪啦地敲,某个位置就会显示我想要的那些字符? 电脑怎么知道我鼠标点击的是这个地方,又是怎么知道我要输入的是这个地方? 我在键盘上点“a”,是谁在显示器上画出“a”这个图像呢? 为什么我一回车,这些字符就发到遥远的另外一台机器上去了? 别小看“双击鼠标打开聊天软件”这样一个简单的操作,它几乎涵盖了操作系统的所有功能。
1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的“命令行+文件”模式 在Linux中,做什么都有相应命令。一般就在bin或者sbin目录下,数量繁多。
1 概览 1.1 预定义的源和接收器 Flink内置了一些基本数据源和接收器,并且始终可用。该预定义的数据源包括文件,目录和插socket,并从集合和迭代器摄取数据。该预定义的数据接收器支持写入文件和标准输入输出及socket。
掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flink中的watermark。 Flink 在流处理工程中支持不同的时间概念。
Apache Flink具有两个关系型API Table API SQL 用于统一流和批处理 Table API是Scala和Java语言集成查询API,可以非常直观的方式组合来自关系算子的查询(e.g. 选择,过滤和连接).
1 概述 Flink中的DataStream程序是实现数据流转换的常规程序(例如,过滤,更新状态,定义窗口,聚合)。 最初从各种源(例如,消息队列,套接字流,文件)创建数据流。 结果通过接收器返回,接收器可以例如将数据写入文件或标准输出(例如命令行终端)。
1 你将学到 ◆ DataSet API开发概述 ◆ 计数器 ◆ DataSource ◆ 分布式缓存 ◆ Transformation ◆ Sink 2 Data Set API 简介 Flink中的DataSet程序是实现数据集转换(例如,过滤,映射,连接,分组)的常规程序.
0 Github 回顾执行流程 1、创建command,2种command类型 2、执行command,4种执行方式 3、查找是否开启了request cache,是否有请求缓存,如果有缓存,直接取用缓存,返回结果 首先,reqeust context(请求上下文) 一般在一个web应用中,Hy...
对于资源隔离,做更加深入一些的讲解,除了可以选择隔离策略,对选择的隔离策略,可以做一定的细粒度的控制
有没有做过MySQL读写分离 如何实现MySQL的读写分离 主从复制原理 如何解决MySQL主从同步的延时问题
0 Github 1 面试题 分库分表之后,id主键如何处理? 2 考点分析 其实这是分库分表之后你必然要面对的一个问题,就是id咋生成? 要是分成多个表之后,每个表都是从1开始累加,那肯定不对啊,需要一个全局唯一的id来支持! 下面来看看有哪些可行方案~ 3 数据库自增id 分库分表的id主键...
设计可动态扩容的分库分表
为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
0 Github 1 面试题 分布式事务了解吗?你们如何解决分布式事务问题的? 2 考点分析 只要聊到做了分布式系统,必问分布式事务,若你对分布式事务一无所知的话,确实很坑,起码得知道有哪些方案,一般怎么来做,每个方案的优缺点是什么。
集群部署时的分布式session如何实现?
一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?
ZooKeeper的适用场景?
如何设计一个类似Dubbo的RPC框架
分布式服务接口请求顺序性保证
如何基于dubbo进行服务治理、服务降级、失败重试以及超时重试?
前面基础性的东西问完了,确定你应该了解Dubbo,那么自然问个稍微难的问题,就是SPI,先问问你这是个啥,然后问问你怎么实现的!
Dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢?
1 面试题 了解什么是Redis的雪崩和穿透吗?Redis崩溃之后会怎么样?系统该如何应对这种情况?如何处理Redis的穿透? 2 考点分析 缓存必问题,因为缓存雪崩和穿透,是缓存最大的两个问题,要么不出现,一旦出现就是致命的! 3 缓存雪崩 3.
1 面试题 Redis集群模式的工作原理说一下?在集群模式下,key是如何寻址的?寻址都有哪些算法?了解一致性hash吗? 2 考点分析 Redis不断在发展-Redis cluster集群模式,可以做到在多台机器上,部署多个实例,每个实例存储一部分的数据,同时每个实例可以带上Redis从实例,自动确保说,如果Redis主实例挂了,会自动切换到redis从实例顶上来。
Redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
# 0 Github 1 sdown和odown转换机制 两种失败状态 1.1 概念 sdown主观宕机一个哨兵自己觉得一个master宕机 odown客观宕机quorum数量的哨兵都觉得一个master宕机 1.
Github 1 数据丢失的两个场景 主备切换的过程,可能会导致数据丢失 1.1 异步复制 由于 master => slave的复制是异步的,所以可能有部分数据还没复制到slave,master就宕机,于是这些数据就丢失了 1.
Github 1 Redis Sentinal机制 sentinal,中文名哨兵 哨兵是redis集群架构中非常重要的一个组件,主要功能如下 集群监控监控Redis master和slave进程的正常工作 消息通知如果某个Redis实例有故障,那么哨兵负责发送报警消息给管理员 故障转移若mast...
0 Github 1 复制的完整流程 slave node启动,仅仅保存master node的信息,包括master node的host和ip,但复制流程尚未开始master host和ip配置在 redis.
你将学到 RabbitMQ 整合 Spring AMQP实战 RabbitMQ 整合 Spring Boot实战 RabbitMQ 整合 Spring Cloud实战
你将学到 如何保证消息百分百投递成功 幂等性 如何避免海量订单生成时消息的重复消费 Confirm确认消息、Return返回消息 自定义消费者 消息的ACK与重回队列 限流 TTL 死信队列
发表了文章
2025-04-18
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-02-11
发表了文章
2025-01-02
发表了文章
2024-11-01
发表了文章
2024-10-31
发表了文章
2024-10-30
发表了文章
2024-10-29
发表了文章
2024-10-28
发表了文章
2024-10-27
发表了文章
2024-10-26
发表了文章
2024-10-25
发表了文章
2024-10-24
发表了文章
2024-10-23
发表了文章
2024-10-22
发表了文章
2024-10-21
发表了文章
2024-10-20
发表了文章
2024-10-19