大家好,我是不才陈某前面的文章中介绍了网关集成SpringSecurity实现网关层面的统一的认证鉴权。有不清楚的可以看之前的文章:实战干货!SpringCloudGateway整合OAuth2.0实现分布式统一认证授权!最近订阅了《SpringCloudAlibaba实战》视频专栏的读者经常问陈某两个问题,如下:鉴权放在各个微服务中如何做?feign的调用如何做到的鉴权?今天针对以上两个问题深入聊聊如何通过三个注解解决。实现思路前面的几篇...
大家好,我是不才陈某Java8API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象。StreamAPI可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。本文会对Stream的实现原理进行剖析。Stream的组成与特点Stream(流)是一个来自数据源的元素队列并支持聚合操作:元素是特定类型...
此前,带你读源码第七篇:《一文读懂数据库索引实现原理》尝试从代码导读的角度,简要介绍了OceanBase的索引构建流程,带领大家读懂索引构建的相关代码。本期“源码解读”由OceanBase开发工程师刻晴为大家带来“事务日志的提交和回放”。OceanBase的日志(clog)类似于传统数据库的REDO日志,这个模块负责在事务提交时持久化事务数据,并实现了基于MultiPaxos的分布式一致性协议。日志模块的设计理念与传统关系型数据库的日志模...
2022-11-08 15:11:58 1854浏览 0点赞 0回复 0收藏
此前,带你读源码第八篇《事务日志的提交和回放》,为大家介绍了日志模块的设计理念和日志的一生。本期“源码解读”由数据库技术专家公祺为大家带来“存储层代码解读之「宏块存储格式」”。“宏块”是处于SSTable和微块之间的数据结构,OceanBase中的宏块为2MB的定长数据块。众所周知,OceanBase中微块是读IO最小单元,这是因为微块读处在用户请求的关键路径上,为保证快速响应用户的请求,微块不能过大,所以微块的默认大小一...
2022-11-08 15:05:25 1618浏览 0点赞 0回复 0收藏
编者按本文系华东师范大学数据学院DBHammer组瞿璐祎所著。「瞿璐祎:研究生期间在华东师范大学数据学院DBHammer组致力于事务型数据库评测工作,已经在面向应用的事务数据库评测场景模拟以及分布式事务型数据库的评测上取得了一定的成果,其本人将继续致力于为国产数据库的发展添砖加瓦。」随着分布式事务型数据库的快速发展,对其进行公平的性能评估和比较是非常有必要的,作者基于现有的事务型评测基准,对分布式事务型数据库...
2022-11-08 15:04:03 1198浏览 0点赞 0回复 0收藏
编者按本文系北京大学智能学院在读博士生胡琳所著,目前于OceanBase存储组实习,本篇也是OceanBase学术系列稿件第二篇。「胡琳:北京大学智能学院在读博士生,博士期间在北京大学数据管理组从事GPU加速图算法的研究,在图算法加速领域取得了一定的成果,发表在SIGMOD等知名会议上,将继续在图计算领域努力探索。」OceanBase等以LSMtree为存储架构的数据库的compaction是一个比较耗时的操作,近年来GPU越来越多地被用在高性能计...
2022-11-08 15:01:37 788浏览 0点赞 0回复 0收藏
此前,OceanBase源码解读第九篇《存储层代码解读之「宏块存储格式」》,为大家介绍了宏块的存储格式。本期“源码解读”由OceanBase内核研发工程师镇楠为大家带来“系统租户的「一号表」”的前世今生,并对一号表相关的服务寻址过程进行了说明。OceanBase有一套独特的元数据管理方式,它的一个设计目标是:所有的信息都保存在表里(甚至包括配置项),系统表的表模式也不能Hardcode,且一切是自包含的,没有外部依赖。这样一个明...
2022-11-08 14:59:29 1029浏览 0点赞 0回复 0收藏
本文根据OceanBaseDevMeetup1上海站分享整理,本次活动针对分布式数据库的分布式事务以及落地实践展开具体分享。本期分享视频以及PPT查看地址见文末。本文作者:孔繁宇(景严),蚂蚁集团技术专家,2016年加入OceanBase事务组,参与了OceanBase1.0及OceanBase2.0版本的设计开发工作,目前主要负责OceanBase数据转储和宕机恢复相关的工作。关系数据库中的事务故障恢复并不是一个新问题,自70年代关系数据库诞生之后就一直伴随着...
2022-11-07 14:32:03 1509浏览 0点赞 0回复 0收藏
本文根据OceanBaseDevMeetup1上海站分享整理,本次活动针对分布式数据库的分布式事务以及落地实践展开具体分享。本文作者:羡林,蚂蚁集团高级技术专家,2012年毕业于北京邮电大学计算机专业。2013年加入OceanBase团队,参与了OceanBase1.0及2.0版本的设计与开发,目前主要负责OceanBase高可用及一致性相关的工作。分享视频以及PPT查看地址见文末。本文将首先介绍实现高可用数据库所面临的挑战,然后从几个方面介绍解决高可用问...
2022-11-07 14:31:34 1244浏览 0点赞 0回复 0收藏
OceanBase(以下以OB简称)中有一个总控节点服务称之为RootService,用于管理整个集群中的负载均衡等操作。该服务启动在allcoretable的主副本(Leader)所在的服务器上。本文主要介绍RootService(以下以RS简称)对切主的管理。主要分为以下五个部分:涉及到的基础概念负载均衡场景描述对主动切主的管理切主是如何触发的切主是如何执行的涉及到的基础概念我们先来认识或回顾下5个本文会涉及到的基本概念:1.1.主副本(L...
2022-11-07 14:31:05 1465浏览 0点赞 0回复 0收藏
竹翁,OceanBase内核研发总监杨志丰,花名竹翁,毕业于北京大学,长期从事分布式系统和数据库的研发工作,现于阿里巴巴蚂蚁金服自主研发的分布式关系数据库OceanBase团队负责研发工作,致力于把设计先进的HTAP数据库系统打造成技术业内标杆的核心基础设施。在OceanBase系统中,他先后负责研究OceanBase的SQL引擎、分布式主控模块、多模数据库方向以及OceanBase的数据库平台产品研发,并于近期开始负责内核创新研发工作。竹翁对C...
2022-11-07 14:30:31 1599浏览 0点赞 0回复 0收藏
竹翁,OceanBase内核研发总监杨志丰,花名竹翁,毕业于北京大学,长期从事分布式系统和数据库的研发工作,现于阿里巴巴蚂蚁金服自主研发的分布式关系数据库OceanBase团队负责研发工作,致力于把设计先进的HTAP数据库系统打造成技术业内标杆的核心基础设施。在OceanBase系统中,他先后负责研究OceanBase的SQL引擎、分布式主控模块、多模数据库方向以及OceanBase的数据库平台产品研发,并于近期开始负责内核创新研发工作。竹翁对C...
2022-11-07 14:30:14 1833浏览 0点赞 0回复 0收藏
引言源码是OceanBase的“方向盘”,本系列主要围绕“源码解读”,通过文章阐述,帮助大家理清数据库的内在本质。此前,带你读源码第二篇《戳这里回顾:OceanBase源码解读(二):SQL的一生》为大家介绍了OceanBase数据库中一条SQL的执行流程主路径,包括接收、处理、返回结果给客户端的过程,探讨了OceanBase的SQL引擎模块。本文为OceanBase数据库源码解读系列文章的第三篇,将主要为大家介绍OceanBase的存储层像相关知识。正文...
2022-11-07 14:29:55 1253浏览 0点赞 0回复 0收藏
源码是OceanBase的“方向盘”,本系列主要围绕“源码解读”,通过文章阐述,帮助大家理清数据库的内在本质。此前,带你读源码第三篇《戳这里回顾:OceanBase源码解读(三)分区的一生》为大家介绍了OceanBase的存储层的相关内容。在第一节讲通信协议obmpquery时,跳过了事务控制的细节,本文为OceanBase数据库源码解读系列文章的第四篇,将主要为大家介绍事务的外部接口相关知识。事务的外部接口1.1.协议层对事务层的封...
2022-11-07 14:29:38 966浏览 0点赞 0回复 0收藏
此前,带你读源码第四篇《戳这里回顾:OceanBase源码解读(四):事务的一生》为大家介绍了事务的外部接口相关知识。本文将介绍社区版中创建、删除租户、资源隔离的相关代码。OceanBase数据库是支持多租户的,这里租户的概念类似于传统数据库的数据库实例。租户下可以建立数据库,在租户的数据库下可以建立表。多租户特性可以降低资源使用和维护成本。每个租户可以被赋于一定的资源(比如CPU、内存)。OceanBase集群初始内置了...
2022-11-07 14:29:18 1232浏览 0点赞 0回复 0收藏
前,带你读源码第五篇《戳这里回顾:OceanBase源码解读(五):租户的一生》为大家介绍了社区版中创建、删除租户、资源隔离的相关代码,本文将为大家详细讲解OceanBase存储引擎。本文将回答关于OceanBase数据库的相关提问:OceanBase是否依赖其他开源KV数据库(例如:LevelDB、RocksDB)?OceanBase底层引擎是什么?是KV吗?OceanBase内存结构是B+Tree还是LSMTree?OceanBase如何实现高性能服务?背景目前业界数据库存储引擎主...
2022-11-07 14:28:58 2089浏览 0点赞 0回复 0收藏
此前,带你读源码第六篇《戳这里回顾:OceanBase源码解读(六):存储引擎详解》为大家详细讲解了OceanBase存储引擎,并为大家回答了关于OceanBase数据库的相关提问。本期“源码解读”将尝试从代码导读的角度,简要介绍OceanBase的索引构建流程,带领大家读懂索引构建的相关代码,必须速速收藏!1.什么是索引首先请思考,在一个一般的数据库中,索引表的语义是什么?索引表,其实是在主表(也称数据表)之外,再创建一份冗余且...
2022-11-07 14:27:58 1615浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条学习目标理解一致性协议的概念Nacos中的一致性协议有哪几种以及各自的特点Distro协议的流程Raft协议的流程第1章一致性概述当前实际应用中的一致性模型分类大体分为弱一致性和强一致性两类。1.1弱一致性也叫最终一致性DNS(DomainNameSystem)Gossip(Cassandra、Redis的通信协议)1.2强一致性大体可分为两类:1.主从同步基本思想:主从同步复制Master接受写请求Master复制日志至slaveMaster等待,直...
2022-08-25 11:22:19 1631浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条学习目标Dubbo是什么以及它的作用Dubbo与springcloud的区别Dubbo与Feign的区别Dubbo的使用Dubbo的高级应用Dubbo的集群容错机制有哪几种,默认的是什么Dubbo的负载均衡算法有哪几种,默认是什么第1章Dubbo简介官网https:dubbo.apache.orgzh1.1出现的背景当企业开始大规模的服务化以后,远程通信带来的弊端就越来越明显了。比如说服务链路变长了,如何实现对服务链路的跟踪和监控呢?服务的大规模集群...
2022-08-25 11:21:49 1830浏览 0点赞 0回复 0收藏
作者一起撸Java来源今日头条学习目标本文主要讲解Dubbo基于注解的方式集成spring第2章注解方式整合注解方式已经是现在的主流了,例如springboot现在都是零xml配置了,只要通过少量的配置就可以完成框架的引用。2.1案例生产者配置类Configuration作用扫描DubboService注解DubboReferenceEnableDubbo(scanBasePackages"com.example")PropertySource("classpath:dubboprovider.properties")publicclassProviderConfiguration{}dubb...
2022-08-24 16:39:01 1891浏览 0点赞 0回复 0收藏