智乐活

智乐活

管理 Kafka
Kafka 提供了一些用于管理集群变更的命令行工具,这些工具由 Java 实现,Kafka 提供一些脚本来调用这些 Java 类。这些工具只提供一些基本的功能,无法完成复杂操作。Kafka 社区有很多高级工具,如 Kafka Manager。 一、主题操作使用 kafka-topics.sh 可以执行主题的大部分操作,如创建、修改、删除和查看集群内的主题(配置变更部分已经移动到 kafka-configs.sh 中),使用时需要通过 –zookeeper 参数提供 ZooKeeper 地址,如 zoo1.example.com:2181/kafka。 1.创建主题在集群内创建主题,需要...
Kafka 可靠的数据传递
Kafka 在数据传递可靠性方面具有很大的灵活性,是高度可配置的,通过使用客户端 API 可以满足不同程度的可靠性需求。 Kafka 有一些基本的保证:1. Kafka 可以保证分区内消息的顺序;2. 消息被写入到分区的所有同步副本才算是已经提交的消息;3. 只要有一个副本活跃,已经提交的消息就不会丢失;4. 消费者只能读取已经提交的消息。 以上的基本保证用于构建可靠的系统,开发者在配置参数上作出权衡(可靠性、一致性的重要程度与可用性、高吞吐量、低延迟和硬件成本重要程度之间的权衡),从而获得想要达到的可靠性。 配置 brokerbroker 有 3 个配置会影响消息存储的可靠性,应用在...
Kafka 内部工作原理
了解 Kafka 的内部工作原理有助于理解 Kafka 的行为和诊断问题,本篇文章主要从集群成员关系、控制器、复制、处理请求和存储等方面介绍 Kafka 的内部机制。 集群成员关系Kafka 使用 ZooKeeper 来维护集群内成员的信息,每个 broker 在启动时都通过在 /brokers/ids 路径创建临时节点将自己的唯一标示 broker.id 注册到 ZooKeeper。 Kafka 会订阅 ZooKeeper 的 /brokers/ids 路径,在有 broker 加入或退出集群时收到通知。 关闭 broker 时对应的临时节点会消失,不过它的 id 会继续存储在其他数...
Kafka 消费者
应用程序使用 KafkaConsumer 向 Kafka 订阅主题,并从订阅的主题上接收消息。Kafka 的消费者涉及一些独特的概念,本篇文章首先解析一些重要概念,然后介绍如何读取消息及相关配置。 概念消费者和消费者群组Kafka 消费者从属于消费者群组,群组内的消费者订阅同一个主题,每个消费者接收主题一部分分区的消息。 如果主题 T1 有 4 个分区,消费者 C1 是订阅了 T1 的群组 G1 内的唯一消费者,则 C1 将接收到全部 4 个分区的消息。而如果 G1 内包含 2 个消费者,则每个消费者接收 2 个分区的消息;如果 G1 包含 4 个消费者,则每个消费者接收 1 个分区的...
读书笔记-《大型网站技术架构》
架构随业务而生,业务重于架构。架构是对高并发、大数据、大流量网站的优化措施,网站规模小但一味的追求架构只是逐末舍本,业务一定是一个网站最核心的支持 在网站架构端提升性能的第一手段是缓存,由近逐远可粗略分为: 本地缓存,用户端/浏览器端的缓存 CDN缓存,将一些热点数据、静态文件存放于网络提供商端,这是网络请求经过的的第个关卡 反向代理服务器缓存,存在于网络机房一侧,除了请求转发、负载均衡、安全保护功能,反向代理服务器的缓存机制也能很大程度上减轻应用服务器的压力 分布式缓存集群,对于一些大型网站,使用一些大内存的服务器作为专门的缓存服务器集群是很有必要的 应用服务器的缓存,在应用部...
Kafka 生产者
不管把 Kafka 用作消息队列还是数据存储平台,总需要向 Kafka 写入消息的生产者和从 Kafka 读取消息的消费者。 本篇文章介绍如何创建生产者和消息对象、如何发送消息到 Kafka、生产者的相关配置,以及如何使用分区。 创建生产者和消息对象要往 Kafka 写入消息,首先要创建一个生产者对象,并设置一些必要的属性。Kafka 生产者有 3 个必选属性。 bootstrap.servers 指定 broker 的地址,格式为 host:port ,多个地址用逗号 , 分隔。建议至少提供两个 broker 地址,其中一台宕机仍然可以连接到集群上。 key.serialize...
Kafka 安装与基本配置
Kafka 是使用 Java 开发的应用程序,可以在安装了 Java 环境的多种操作系统上运行。另外 Kafka 使用 ZooKeeper 保存 broker 的元数据。 在配置好 Java 环境和 ZooKeeper 之后,就可以开始下载并安装 Kafka 了。 安装 Kafka Broker在 Kafka 官网 可以下载到最新版本的 Kafka,如 kafka_2.11-1.1.0.tgz 。使用命令 1$ tar -zxf kafka_2.11-1.1.0.tgz 解压文件,在启动 ZooKeeper 后进入 Kafka 主目录,通过命令启动 1$ bin/kafka-serve...
初识 Kafka
Kafka 最初是 LinkedIn 的一个内部基础组件,用于处理持续的数据流,之后开源成为 Apache 项目。 Kafka 初衷是构建一个流平台,在平台上发布和订阅数据流,保存和处理数据。 Kafka 不同于一般的消息系统。作为现代分布式系统,Kafka 以集群方式运行,可以自由伸缩;Kafka 可以按要求存储数据,通过复制、持久化提供数据传递保证;Kafka 拥有流式处理能力,可动态处理派生流和数据集。 发布与订阅消息系统在正式介绍 Kafka 之前,先介绍一下发布与订阅消息系统的概念及重要性。 在发布与订阅消息系统中,发送方不直接将消息发送到接收方,而是先以某种方式对消息进行分...
Spring Cloud Config 配置中心
Spring Cloud Config 用于为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,分为服务端和客户端。 服务端为分布式配置中心,是一个独立的微服务应用;客户端为分布式系统中的基础设置或微服务应用,通过指定配置中心来管理相关的配置。 Spring Cloud Config 构建的配置中心,除了适用于 Spring 构建的应用外,也可以在任何其他语言构建的应用中使用。 Spring Cloud Config 默认采用 Git 存储配置信息,天然支持对配置信息的版本管理。 构建配置中心创建 Spring Boot 工程 config-server,然后按以下步骤完成配...
互联网应用安全威胁及应对方法
互联网应用安全威胁的应对 written by xiaokaiqun, 2018-04-20 在 《大型网站技术架构》 一书中提到:安全、高可用、可拓展、性能、可伸缩是衡量一个网站架构能力的五个方面。其中,安全是必不可少的组成部分。 由于我之前对安全问题的理解都比较碎片化,不够系统,最近就有针对性的看了一些资料,并将它们整理在这里,希望读者看完后能了解常见的安全威胁和应对方法,并运用到实际生产中去。 本文是安全问题的总览,对某些问题的深入探讨我们会单独写一篇文章进行讨论。 参考资料包括: 1.MartinFowler的博客 2.《大型网站技术架构》中的 3.《阿里巴巴Java开发手册...
智乐活
No Code Is The Best Code
FRIENDS
JiangYue