保存成功
订阅成功
保存失败,请重试
提交成功
阿福

阿福

资深研发工程师
于电商行业的一家独角兽公司任职,专注于代码,热衷于分享...更多
创作文章10

初探 Kafka

互联网行业中,Kafka 承担的职责变得越来越越重要。Kafka 不仅仅承担了数据流的 “发布 / 订阅”,更是在事实上成为了 “下一代” 数据架构的基础。 本场 Chat,我们将初探 Kafka 的方方面面,主要包括以下方面: 1. Kafka 基本概念 2. Kafka 基础实践: 生产者 & 消费者 3. Kafka 内部原理浅析 & Kafka 的 “可靠性” 保障 4. Kafka 运维事项:命令行工具、监控 5. 流式计算架构中的 Kafka 期望通过本场 Chat,读者能够了解关于 Kafka 的基础内容,并能够于日常工作中进行实践。
严选Kafka
603 订阅

Flink 基础入门

作为致力于提供 Stateful Computations over Data Streams 的“下一代大数据处理引擎”,Flink 在流式计算领域带来了诸多全新特性。 本场 Chat,我们将从 0 开始,帮助读者入门 Flink,主要内容包括: 1. 流式计算的目标与传统架构; 2. Flink 基础结构; 3. Flink 编程模型及其关于“窗口”与“状态”的支持; 4. Flink 实践示例:使用 Flink API 和 Flink SQL。 期望通过以上内容,读者能够建立关于 Flink 的基本认知。
严选Flink入门大数据
839 订阅

HBase 入门指南

作为分布式、可扩展的非关系型数据库,HBase 致力于提供大数据的 “在线” “随机读写” 能力。在互联网行业,HBase 承担着重要职责。本场 Chat,我们将从 0 开始,帮忙读者入门 HBase,主要内容包括: 1. HBase 基本概念、基础实例 2. HBase 内部机制、表设计建议 3. HBase 数据访问优化:过滤器、协处理器 4. HBase 案例:OpenTSDB 5. HBase 运维事项 期望通过以上内容,读者能够建立关于 HBase 的基本认知。
严选HBase入门
377 订阅

MyBatis 进阶:运行原理、插件、自定义类型、Cache、级联

前一场 Chat [《MyBatis 基础入门》](http://gitbook.cn/m/mazi/activity/5ad105e87e92727030f22154),我们概述了 MyBatis 的基础内容。本场 Chat,我们将关注 MyBatis 进阶的内容: 1. MyBatis 运行原理 2. 插件机制与示例 3. 自定义类型处理器 4. 使用 Cache 5. 级联查询 通过本场 Chat,读者能够更好地于日常工作中实践 MyBatis。
MyBatis
342 订阅

MyBatis 基础入门

MyBatis 是互联网行业中流行的 ORM 框架。本场 Chat,我们将从 0 开始,帮忙读者全面地了解 MyBatis 的特性。 主要内容包括: 1. MyBatis 基础结构 2. MyBatis 的配置、映射器以及动态 SQL 3. MyBatis-Spring 实践 4. MyBatis Generator 通过本场 Chat,读者将能够对 MyBatis 建立基础的认知。后续的 Chat,我们将进行深入地探讨,请期待。
MyBatis
366 订阅

初探 ZooKeeper 技术内幕

前一场 Chat [《ZooKeeper 基本概念、使用方法、实践场景》](http://gitbook.cn/gitchat/activity/5a792eaa7648740c4c24dcf5),我们针对于 ZooKeeper 进行了整体阐述,内容主要侧重于应用,即借助 ZooKeeper 能力构建分布式的组件。 作为开发者,不仅仅需要了解 ZooKeeper 的应用,更应当了解其背后的原理,本场 Chat,我们将主要围绕以下话题,初探 ZooKeeper 技术内幕: 1. 分布式数据一致性算法。 2. ZAB (ZooKeeper Atomic Broadcast) 协议。 3. ZooKeeper 数据模型与存储。 4. ZooKeeper 会话管理。 期望通过本场 Chat,我们能够初步了解 ZooKeeper 内部的工作机制,基本理解 ZooKeeper 实现 “分布式协调” 的原理,进而在日常的应用中,做到 “心中有数”。
严选ZooKeeper
352 订阅

ZooKeeper 基本概念、使用方法、实践场景

毋庸置疑,ZooKeeper 已经成为互联网行业不可或缺的基础组件。ZooKeeper 实现了高可用的分布式协调机制,能够提供配置管理、命名服务、分布式同步、分组服务等分布式系统中不可或缺的基础能力。本场 Chat,我们将针对 ZooKeeper 进行探讨,主要内容包括: 1. ZooKeeper 基本概念 2. ZooKeeper 使用:部署、客户端脚本、Java API 3. ZooKeeper 实践场景 4. ZooKeeper 应用示例:Kafka、Dubbo 关于 ZooKeeper 内部实现机制,请期待后续的 Chat。
ZooKeeper
955 订阅

Redis 持久化、分布式、内存优化及存储过程

通过前一场 Chat “如何基于 Redis 构建应用程序组件”的内容,我们基本了解了 Redis 提供的数据结构、命令以及适用场景。本场 Chat,我们将关注 Redis 进阶的内容。 主要包括: - Redis 数据持久化 - Redis “主 - 从” 机制 - 优化 Redis 内存使用 - 扩展 Redis 的容量和性能 - 基于 Lua 的 Redis “存储过程” 期望通过本场 Chat,我们能够进一步了解产生环境中应用 Redis 的各种事宜。
Redis
967 订阅

如何基于 Redis 构建应用程序组件

Redis 是一个基于内存的开源存储系统,能够用作数据库、缓存和消息中间件。Redis 支持 5 种不同类型的数据结构:字符串、链表、集合、散列表、有序集合,并且为不同的数据结构提供了不同的命令,而这正是 Redis 能够解决诸多问题的关键因素之一。 本场 Chat 将主要讲述如何通过 Redis 构建常用的应用程序组件,包括: 1. 计数器 2. 日志记录 & 统计分析 3. 分布式锁 4. 信号量 5. 消息队列 6. 配置中心 此外,若读者对于 Redis 的数据结构和命令没有多少了解,本文亦将予以进行概述,并阐述 Redis 对于事务的支持。 后续还将推出 Redis 的进阶分享,重点阐述:Redis 持久化、分布式扩展、内存优化及 “存储过程”。
Redis
805 订阅

Java 8 Stream API 实用指南

作为 Java 8 众多新特性之一,Stream API 带来了一种新的抽象概念,它允许以 “声明式” 的方法来操作数据集合。我们先看下面的代码: ``` class Good { String name; // 商品名称 long price; // 价格 long sales; // 销量 public Good(String name, long price, long sales) { this.name = name; this.price = price; this.sales = sales; } public long getPrice() { return price; } public void setPrice(long price) { this.price = price; } public long getSales() { return sales; } } void process(List<Good> goods) { // // 筛选 price > 500 & sales < 200 的商品, 价格最高的 10 件商品, 价格减半(双十一来啦!) // goods.stream() .filter(c -> c.getPrice() > 500 && c.getSales() < 200) .sorted(Comparator.comparing(Good::getPrice).reversed()) .limit(10) .forEach(c -> { c.setPrice(c.getPrice() / 2); }); } ``` 想象一下,Java 8 之前的 `process(List<Good> goods)`,将是怎么样的一种实现 ^_^,Stream API,就是这么简单。(当然,还借助了 Java 8 的 Lambda 表达式与方法引用) 通过本场 Chat,我们将能够了解 Stream API 的基础概念、常见的操作,并探索有关并行数据处理与性能的话题。此外,如果对于 Lambda 表达式和方法引用还没有多少了解,我们也会简要地阐述。
Java
230 订阅
微信扫描登录