精彩博客

Kafka技术专题之(Broker)可靠性机制分析

## 副本机制 **分布式系统中,为了提高可靠性,最常用、最有效的策略是“副本机制”,Kafka也不例外**。 > **Kafka 为每个 Partition 维护了一个 AR(Assigned Replicas)列表,由 ISR(In-Sync Replicas,与 Leader 数据同步的 Replica)和OSR(Outof-Sync Replicas,与 Leader 数据不同步的 Replica)组成。** > **初始状态下,所有的 Replica 都在 ISR 中,但在 Kafka 工作过程中,由于各种问题(网络、磁盘、内存)可能导致...

昨天 17:06
546
0
SQL位运算查询 - ‘&‘ 举例

#### 需求举例: 某动物园对动物的投喂有以下规定: 苹果可以去投喂鹿、猴子、熊猫 竹子可以去投喂熊猫、竹鼠 树叶可以去投喂兔子、鹿 现在饲养员携带苹果、树叶,他可以投喂哪些动物? ##### 分析 上述情景中,饲养员、动物针对投放的食物在多种条件下匹配且最少有一项符合条件就确认投喂 --- #### 位运算 & ##### 简单回顾 & 的用法 按位“与”操作符,如果两个数的二进制,相同位数都是1,则改位结果为1,否则是0。以下举例:...

昨天 17:56
466
0
百度C++工程师的那些极限优化(并发篇)

![图片](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a9a015d392774d49b780bc23d93ea36a~tplv-k3u1fbpfcp-zoom-1.image) **导读**:对于工程经验比较丰富的同学,并发应该也并不是陌生的概念了,但是每个人所理解的并发问题,却又往往并不统一,本文系统梳理了百度C++工程师在进行并发优化时所作的工作。 _全文15706字,预计阅读时间24分钟。_ # **一、背景** 简单回顾一下,一个程序的性能构成要件大概有三个,即算法复...

昨天 14:22
3.6K
0
阅读优秀项目源码很重要,分享一个读源码的方法,小白都能学会

作为一个程序员,经常需要读一些开源项目的源码。同时呢,读源码对我们也有很多好处: 1.提升自己 阅读优秀的代码,第一可以提升我们自身的编码水平,第二可以开拓我们写代码的思路,第三还可能让我们拿到大厂 offer。无论那种情况,优秀的代码就是提升我们开发水平的资粮,而把这些优秀的代码读懂、读透并不很容易。 2.修复 Bug 有些时候,我们用的一些开源组件,出现了一些预想不到的问题。而这时候,也没有前人经验可借鉴,也...

昨天 12:24
2.5K
0
深入Netty逻辑架构,从Reactor线程模型开始

本文是Netty系列第6篇 上一篇文章我们从一个Netty的使用Demo,了解了用Netty构建一个Server服务端应用的基本方式。并且从这个Demo出发,简述了Netty的逻辑架构。 今天主要是深入学习下 逻辑架构 中的EventLoop 和 EventLoopGroup,掌握Netty的线程模型,这是Netty最精髓的知识点之一。 本文预计阅读时间约 「15分钟」,将重点围绕以下几个问题展开: 什么是Reactor线程模型? EventLoopGroup、EventLoop 怎么实现Reactor线程模型...

前天 12:50
1.9K
0
使用Hexo搭建个人博客并部署到码云

# 使用Hexo搭建个人博客并部署到Gitee Pages ## Github Pages或Gitee Pages是什么呢? ~~~ Github Pages或者Gitee Pages是一个免费的静态网页托管服务,我们可以使用它来托管博客、项目官网等静态网页。 目前Gitee Pages 支持 Jekyll、Hugo、Hexo编译静态资源。 ~~~ ![](https://oscimg.oschina.net/oscnet/up-af563b28136857855ca7e36bd860ae4f766.png) ## Jekyll、Hugo、Hexo 是什么? ~~~ Jekyll、Hugo、Hexo 是简单的博客形...

昨天 11:36
1.8K
0
通俗易懂的ReentrantLock,不懂你来砍我

# 前言 自己开的坑,跪着也要填完,欢迎来到Java并发编程系列第五篇`ReentrantLock`,文章风格依然是图文并茂,通俗易懂,本文带读者们深入理解`ReentrantLock`设计思想。 如果读过阿星写的前篇[万字长文 | 16张图解开AbstractQueuedSynchronizer](https://mp.weixin.qq.com/s/Y4GbMdNmSDvHtomxtObRSg),本篇的效果拉满,未读过也没关系,依然能get到`ReentrantLock`原理。 # 认识下ReentrantLock 阿星先带读者们和`ReentrantL...

昨天 12:49
1.5K
1
给 xxljob 加一个 k8s 执行器

前言 xxljob 是采用 java 开发的开源的任务调度系统,架构上分为调度管理器、执行器,目前除了官方提供的 java 执行器外,也有 go 开发者提供了 go 语言的执行器(看了 go 执行器的代码,除了任务日志没有实现,其他功能实现都比较完整)。 xxljob 在设计上,抽象出了执行器的接口,所以实现一个语言的执行器并不复杂,这里主要探索下,如何利用 k8s 的 pod 的能力,使用 xxljob 调度 pod 运行,实现一个通用的和语言无关的执行...

昨天 13:24
1.9K
0
Java源码分析专题系列之【String类】带你一起探究字符串不可变的特性

### 前提介绍 > **在Java中String类的使用的频率可谓相当高。它是Java语言中的核心类,在java.lang包下,主要用于字符串的比较、查找、拼接等等操作。如果要深入理解一个类,最好的方法就是看看源码**: ### 什么是字符串 > **字符串是由引号所括起来的一系列字符序列**。 ### 字符串类(String) ```java /** String 类源码 */ public final class String implements java.io.Serializable, Comparable, CharSequence { /** T...

06/09 11:30
1.2K
0
给你一台服务器,你能把你写的代码部署到线上吗?

持续坚持原创输出,点击蓝字关注我吧 作者:小傅哥 博客:https://bugstack.cn ❝ 沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞ 目录 一、前言 二、在服务器上花出去的钱! 三、把花出去的钱赚回来了! 1. 企业门户网站(5000元) 2. 卖家具宣传网站(2000元) 3. Netty通信框架(2000元) 4. 讲课、数据采集(11000元) 四、搞一台服务器咋用起来? 1. 先neng个服务器 2. 服务器介绍 3. 系统更换成宝塔镜像 4. 配置并登录宝塔...

06/07 07:55
2.3K
0
1.2 Go语言从入门到精通:开发环境搭建

![](https://oscimg.oschina.net/oscnet/up-c098c07e6bc1a7df496d9e6a595f9a70aab.png) 上一篇对 Go 语言进行了介绍,不知道你有没有想继续学下去的冲动呢? 在软件领域,当你学习一门新语言、新技术时,一般先从安装环境开始,实实在在的安装完,使用它,逐步深入了解。本文将从 Go 语言环境安装开始,带你一起开启 Go 语言的开发之路,其中包括环境安装、IDE使用等内容。 ## 1、Go语言环境安装 ### 1.1 开发包获取 Go 语言支持...

昨天 09:22
2K
0
徒手用 Go 写个 Redis 服务器(Godis)

![](https://img2020.cnblogs.com/blog/759200/202106/759200-20210617000151016-424582408.jpg) 作者:HDT3213 今天给大家带来的开源项目是 Godis:一个用 Go 语言实现的 Redis 服务器。支持: - 5 种数据结构(string、list、hash、set、sortedset) - 自动过期(TTL) - 发布订阅、地理位置、持久化等功能 ![](https://img2020.cnblogs.com/blog/759200/202106/759200-20210617000544805-354063573.png) 你或许不需要自己实现...

昨天 08:56
2.3K
0
Spring容器中的Bean是否线程安全?

spring容器中的Bean是否线程安全? 答案是:不安全的 我个人的理解是: 1:在平时的开发中,我们需要定义很多的类型和方法和属性。我们在类中或者其他的类的方法中调用方法的时候,都是用new。创建对象以后就可以调用方法和属性。 2:而springioc容器把这些个bean管理起来,解决了我们的对象创建,管理和依赖的问题。并且是单列的。好处是:可以节约内存空间。坏处也就是:在启动的时候初始化过程会占用一点时间,但是用空间换时...

前天 11:37
5.3K
0
WebRTC 传输安全机制第二话:深入显出 SRTP 协议

> 通过 [DTLS 协商](https://mp.weixin.qq.com/s/tHW6sWRZUzkOtl2BsRbV1w)后,RTC 通信的双方完成 `MasterKey` 和 `MasterSalt` 的协商。接下来,我们继续分析在 WebRTC 中,如何使用交换的密钥,来对 RTP 和 RTCP 进行加密,实现数据的安全传输。同时,本文会对 libsrtp 使用中,遇到的问题的进行解答,例如,什么是 ROC,ROC 为什么是 32-bits?为什么会返回 error_code=9, error_code=10?交换的密钥有生命周期吗,如果有是多...

前天 15:03
2.7K
0
Java源码分析专题系列之【String类】带你实战使用String的功能特性

### 前提回顾 **java.lang.String类**用于描述字符串,Java程序中所有的字符串字面值都可以使用该类的对象加以描 述,如:"abc"。 - **该类由final关键字修饰,表示该类不能被继承**。 - **从jdk1.9开始该类的底层不使用char[]来存储数据,而是改成 byte[]加上编码标记,从而节约了一 些空间**。 - **该类描述的字符串内容是个常量不可更改,因此可以被共享使用**。 > **如: String str1 = “abc”; 其中"abc"这个字符串是个常...

06/10 19:51
1.8K
0
【SpringCloud技术专题】「Hystrix」(9)熔断器的原理和实现机制

# 熔断器(Circuit Breaker)介绍 > **熔断器,现实生活中有一个很好的类比,就是家庭电路中都会安装一个保险盒,当电流过大的时候保险盒里面的保险丝会自动断掉,来保护家里的各种电器及电路。** > **Hystrix中的熔断器(Circuit Breaker)也是起到这样的作用,Hystrix在运行过程中会向每个commandKey对应的熔断器报告成功、失败、超时和拒绝的状态,熔断器维护计算统计的数据,根据这些统计的信息来确定熔断器是否打开。** > **如...

06/15 21:49
2K
1
醒酒菜:动画图解核心内存区--堆

端午佳节一下子就过完了,大家是不是还沉迷在假期的欢乐气氛中无法自拔?今天阿Q为大家准备了上好的“醒酒菜”——`JVM`运行时数据区的核心内存区——堆。 ### 堆的概述 一般来说: - 一个`Java`程序的运行对应一个进程; - 一个进程对应着一个`JVM`实例(`JVM`的启动由引导类加载器加载启动),同时也对应着多个线程; - 一个`JVM`实例拥有一个运行时数据区(`Runtime`类,为饿汉式单例类); - 一个运行时数据区中的堆和方法区...

06/15 12:34
5.8K
0
「终!」 Java源码分析专题系列之【String类】带你进入String类的易错点和底层本质分析!

### 字符串拼接及创建的案例分析 #### 案例一 ```java String a = "test"; String b = "test"; System.out.println(a.equals(b)); // true System.out.println(a == b); // true System.out.println(System.identityHashCode(a)); // 1639705018 System.out.println(System.identityHashCode(b)); // 1639705018 ``` - **当a初始化时,"test"对象被加入字符串常量池,b初始化时,检查到"test"对象在字符串常量池中,则直接指向该...

06/11 13:08
3.6K
0
《Spring 手撸专栏》第 6 章:气吞山河,设计与实现资源加载器,从Spring.xml解析和注册Bean对象

持续坚持原创输出,点击蓝字关注我吧 作者:小傅哥 博客:https://bugstack.cn ❝ 沉淀、分享、成长,让自己和他人都能有所收获!😜❞ 目录 一、前言 二、目标 三、设计 四、实现 1. 工程结构 2. 资源加载接口定义和实现 3. 包装资源加载器 4. Bean定义读取接口 5. Bean定义抽象类实现 6. 解析XML处理Bean注册 五、测试 1. 事先准备 2. 配置文件 3. 单元测试(资源加载) 4. 单元测试(配置文件注册Bean) 六、总结 七、系列推荐 ...

06/10 07:55
4.9K
0
一篇文章通俗易懂的让你彻底理解 Java 注解

很多`Java`程序员,对`Java`的注解一知半解,更有甚者,有的人可能连注解是什么都不知道 本文我们用最简单的 `demo` , 最通俗最短的语言,带你了解注解到底是什么? 先来简单回顾一下基础,我们知道,Java 的源文件编辑后,生成 .class 文件, 1. `.Java`源文件,这个是`源文件时期` 2. 源文件经过编译生成 `.class` 字节码文件,这个也是`编译时期` 3. `.class` 加载到内存中,就可以用了,这个是`运行期间` **如下图** ![imag...

06/14 22:11
8.5K
1

没有更多内容

加载失败,请刷新页面

初窥鸿蒙

一、什么是鸿蒙 鸿蒙即 HarmonyOS ,是华为公司推出的支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备的分布式操作系统,并且它提供了多语言开发的 API,支持 Java、XML、C/C++、JS、...

06/10 18:21
1.6W
6
深入浅出聊聊 Rust WebAssembly(一)

什么是 webassembly 在 2019 年 12 月之前,如果你要编写一个web页面,那一定离不开 html、css、js 这三个好兄弟。在 2019 年 12 月之后 W3C 宣布 webassembly 加入了他们。为什么要在三兄弟...

06/10 10:55
1.4W
3
一文教会你认识Vuex状态机

摘要:简单来说,Vuex就是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享。 本文分享自华为云社区《Vuex状态机快速了解与应用》,原文作者:北极光之夜。 一. 速识...

06/09 10:02
1.5W
4
V8 执行 JavaScript 的过程

👆 这是第 102 篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队 关注我们吧~ 本文首发于政采云前端团队博客:V8 执行 JavaScript 的过程 https://www.zoo.team/article...

06/08 21:30
7.9K
4
读写分离水太深,你把握不住,让CQRS来

多年以前,那时我正年轻,做技术如鱼得水,甚至一度希望自己能当一辈子的一线程序员。 但是我又有两个小愿望想要达成:一个是想多挣点钱;另一个就是对项目的技术栈和架构选型能多有点主动权...

06/08 14:07
2.6W
13
Go timer 是如何被调度的?

hi,大家好,我是 haohongfan。 本篇文章剖析下 Go 定时器的相关内容。定时器不管是业务开发,还是基础架构开发,都是绕不过去的存在,由此可见定时器的重要程度。 我们不管用 NewTimer, ti...

06/08 08:37
7.2K
0
深入浅出协程、线程和并发问题

"协程是轻量级的线程",相信大家不止一次听到这种说法。但是您真的理解其中的含义吗?恐怕答案是否定的。接下来的内容会告诉大家协程是如何在 Android 运行时中被运行的,它们和线程之间的关...

06/03 11:44
1.9W
0
深入解析 Raft 模块在 ZNBase 中的优化改造(下)

作者:管延信 上期回顾:深入解析 Raft 模块在 ZNBase 中的优化改造(上) 导读 云溪数据库 ZNBase 是由浪潮开源的一款 NewSQL 分布式数据库,具备 HTAP 特性,拥有强一致、高可用的分布式架...

05/31 11:03
5.5K
8
浅析扣减库存的方案设计

你好,我是悟空,今天来探讨下扣减库存的方案。 生活中,我们总是用各种电商app抢购商品,但是库存数是很少的,特别是秒杀场景,商品可能就一件,那如何保证不会出现超卖的情况呢? 一、扣减...

05/28 15:01
2.2W
3
HTAP 数据库如何实现?浅析 ZNBase 中的列存引擎

作者:马静伟 编辑:大东BE 导读 TP 与 AP 融合的 HTAP 数据库正成为业内的发展趋势。但由于大规模数据场景下 TP 与 AP 系统本身的复杂性,要在一套数据库系统中融合两种使用场景的功能并不容...

05/28 14:03
8.6K
18
高德Serverless平台建设及实践

导读 高德启动Serverless建设已经有段时间了,目前高德Serverless业务的峰值早已超过十万QPS量级,平台从0到1,QPS从零到超过十万,成为阿里集团内Serverless应用落地规模最大的BU。这个过程...

05/28 12:10
1.4W
1
从源码出发看zgc的技术内幕

笔者经过上次对zgc在不同环境下进行的测试后,发现zgc所带来的提升非常之大。一时间对zgc在生产中使用充满信心,但是在全面使用之前,难免对其几大新特性有一些好奇,比如:染色指针,读屏障...

05/27 16:38
2W
13
拯救祭天的程序员——事件溯源模式

一、事前 你相信吗?曾经有一段日子,我几乎没接到过合格的产品需求。 开局几句话,技术全靠猜。 总是以为简单的需求 曾经,我从产品那里接到过这么一个需求: 对系统的用户进行分级,不同级别...

05/27 12:54
2.3W
8
React 事件系统是如何工作的?

一、DOM 事件流 在浏览器中,我们通过事件监听来实现 JS 和 HTML 之间的交互。一个页面往往会被绑定许许多多的事件,而页面接收事件的顺序,就是事件流。它类似于蹦床,从高处下落,触达蹦床...

05/24 19:25
1.2W
5
懂得取舍才是缓存设计的真谛

Previously 前两篇文章(缓存稳定性 和 缓存正确性)跟大家讨论了缓存的『稳定性』和『正确性』,缓存常见问题还剩下『可观测性』和『规范落地&工具建设』 稳定性 正确性 可观测性 规范落地和...

05/24 09:00
1.5W
1
提效 7 倍,Apache Spark 自适应查询优化在网易的深度实践及改进

本文基于 Apahce Spark 3.1.1 版本,讲述 AQE 自适应查询优化的原理,以及网易数帆在 AQE 实践中遇到的痛点和做出的思考。 前言 自适应查询优化(Adaptive Query Execution, AQE) 是 Spark 3....

05/21 10:47
1.2W
0
一起看 I/O | Android 更新一览

作者 / Karen Ng, Director, Product Management & Jacob Lehrbaum, Director of Developer Relations, Android & Play 作为 Android 开发者,我们致力于打造让世界各地的用户们满意的体验。...

05/20 19:06
3.5K
0
低代码平台如何一步步摧毁开发团队的效率与创新!

关于低代码平台,之前我也推送过两篇相关的文章,我的观点很简单:东西是好的,有它所擅长和适用的领域,但软件产品不存在银弹,低代码平台一样如此! 现在在搜索引擎上搜“低代码”这样的关...

05/14 10:26
4.1W
15
CSP浅析与绕过

XSS是最常见、危害最大的网页安全漏洞,想要抵御它们,要采取非常多编程措施,非常麻烦。那么,有没有可以从根本上解决问题,浏览器自动禁止外部注入恶意脚本的方法呢?CSP应运而生。 本文涉...

05/13 17:03
5K
2
Flutter Web插件实现:打通JavaScript和Dart

之前分享了如何在Flutter插件中支持Android和Windows,这篇文章将增加Web插件的实现方法,以及创建一个简单的web一维码,二维码识别应用。 参考资源 https://dart.dev/web/js-interop https:...

05/13 15:23
2.1W
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部