Blog

Apache Pulsar学习笔记05: Pulsar的生产者、消费者、订阅和订阅模式

2021-10-26
Pulsar

上一节学习了Pulsar的逻辑架构,Pulsar在逻辑结构上由租户(Tenant)、命名空间(Namespace)、主题(Topic)组成。 Pulsar是一个多租户系统,租户可以跨集群分布,租户代表了组织中特定的业务单元、产品线、核心功能,对应组织中的不同部门或团队负责。 Pulsar中消息的读写都是面向Topic的,支持分区Topic,分区Topic内部实现为等于分区数量的N个内部Topic,多个Broker就可以为多个内部Topic服务,均匀分布负载,分区发布由Pulsar自动管理对用户透明。

...

Apache Pulsar学习笔记04: Pulsar的租户、命名空间和Topic

2021-10-25
Pulsar

上一节在docker容器运行并体验了单机模式的Pulsar,使用命令行管理工具pulsar-admin创建了租户、命名空间和Topic,了解了Pulsar Admin REST API。 本节将对pulsar的租户、命名空间、Topic相关的内容做一下整理。

Pulsar被设计为一个多租户系统,租户可以跨集群分布,每个租户都可以有单独的认证和授权机制,可以针对租户设置存储配额、消息生存时间TTL和隔离策略。 Pulsar的多租户功能使其可以为组织中的不同部门、不同团队提供安全且独占的消息服务,允许不同部门、不同团队之间共享。这样一个Pulsar实例下边多个Pulsar集群可以成为整个组织的消息平台服务。 Pulsar使用租户、命名空间、主题的层次结构支持多租户,这就是Pulsar的逻辑架构,描述了在Pulsar中如何存储数据的逻辑结构。

...

Apache Pulsar学习笔记03: 本地开发环境docker容器中运行Pulsar

2021-10-24
Pulsar

上一节学习了单个Pulsar集群的组成: 无状态智能路由层Pulsar Proxy(可选)、无状态服务层Pulsar Broker、消息持久化存储Bookies,配置协调和元数据存储Zookeeper。 本节我们将在个人本地开发环境开始使用Pulsar,对于本地开发和测试只需要运行单机模式的Pulsar。在容器中运行Pulsar是本地开发测试最简单的方法。 这里将在本地开发环境中使用docker启动Pulsar Standloen的容器。

...

离线部署轻量级Kubernetes发行版K3s

2021-10-23
Kubernetes, K3s

K3s简介 #

K3s是一个轻量级的Kubernetes发行版,它针对边缘计算、物联网等场景进行了高度优化。 K3s做了以下功能:

  • 将众多k8s组件打包成单个二进制文件,以简化部署,通过封装在简单的启动程序自动处理很多复杂的TLS配置,使K3s具有自动化和管理包括证书分发在内的复杂集群操作的能力
  • 默认使用轻量级别的存储后端sqlite3,同时又支持使用etcd3, MySQL, PostgreSQL作为存储后端
  • 默认提供的配置适用于轻量级场景且默认的配置是安全的
  • 默认安装集成了很多实用功能和组件,如local-path-provisioner, metrics-server, traefik ingress controller

运行K3s所需的资源相对较少,因此K3s适用于边缘计算、物联网等场景,当然也适用于开发和测试场景,使用K3s不仅能够缩短启动集群的时间,还能够减少集群需要消耗的资源。

...

Apache Pulsar学习笔记02: 初步了解Pulsar的架构,单个Pulsar集群的组成

2021-10-22
Pulsar

从分布式系统的部署和管理角度来看,大多数分布式系统都将集群作为的最高级别抽象,如果涉及到跨地域部署时会在不同地域部署多个集群,但这需要将每个集群视为独立的系统进行配置和管理。 Pulsar提供了一个比Pulsar Cluster(Pulsar集群)更高级别的抽象,叫Pulsar Instance(Pulsar实例)。一个Pulsar Instance由多个Pulsar Cluster组成,一个Pulsar实例中的集群之间可以相互跨地域复制数据。 Pulsar Instance作为一个唯一的单元,可以从各地域中的一个位置统一管理。

...

Apache Pulsar学习笔记01: Pulsar简介

2021-10-21
Pulsar

Apache Pulsar简介 #

Apache Pulsar是一个支持多租户的、高性能的、分布式的Pub-Sub消息系统,最初由雅虎开发,现在是Apache软件基金会的顶级项目。 Pulsar提供非常低的消息发布和端到端的延迟、保障消息可靠传递零丢失,同时提供了一个用于流数据处理的无服务器轻量级计算框架。

...

使用Delve调试Go程序

2021-10-20
Go

Delve是一个使用Go语言开发的专门用于Go语言的调试工具。Delve项目的地址是https://github.com/go-delve/delve, 这个项目的目标是为Go提供一个简单的、功能齐全、易于调用和使用的调试器。当前Go语言支持GDB、LLDB、Delve三种调试工具,LLDB是MacOS系统推荐的,已经成为了XCode默认调试器,但GDB和LLDB对Go的支持比不上Delve这个专门为Go设计和开发的调试工具。 GolandGo for Visual Studio Code这种集成开发环境的调试功能也都是集成了delve的。 本文将学习Delve命令行的基本使用。

...

Apache Doris ODBC 外表配置和使用, 访问MySQL外表

2021-09-28
Doris

Apache Doris是一个支持对海量大数据进行快速分析的MPP数据库。MPP即(Massively Parallel Processing)大规模并行处理,简单的理解就是将任务并行的分散到多个服务器节点上,在每个节点上计算完成后,再将各部分结果汇总到一起得到最终的结果。 Apache Doris就是一个大规模并行分析(Analytical Massively Parallel Processing ) MPP数据库。本文将介绍Apache Doris ODBC External Table的配置和使用。

...

重学k8s: 06.Kubernetes资源对象之Namespace

2021-09-10
Kubernetes

前面一节介绍了使用Kubernetes API就是查询和操纵Kubernetes API中的资源对象。本节将学习第一个资源对象Namespace。 很多公司可能都会维护一个规模很大的K8S集群,可能有几百乃至成千上万台机器,这个K8S集群同时要为公司内部的不同部门、不同的业务提供服务,为了隔离区分各部门各业务对集群的使用,需要有一个"虚拟集群"的概念,即namespace。 k8s支持多个虚拟集群,它们依赖于同一个物理集群,这些虚拟集群就是namespace。

...

在MacOS上安装OpenResty的开发环境

2021-08-10
Openresty

OpenResty是一个基于 Nginx与 Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。 用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web 服务和动态网关。Nginx及其模块是使用C语言开发的,为了能够在Nginx之上写业务代码,需要借助OpenResty在Nginx上Lua语言开发业务逻辑。 Lua是单线程多协程(coroutine)的并发模型,与Nginx的多进程单线程+多路IO复用的并发事件驱动模型很配。本文将学习在MacOS下搭建OpenResty的开发环境。

...

© 2024 青蛙小白