目录
Apache Geode 客户端入门指南
一、安装 Apache Geode
二、启动 Geode 集群
三、Java 客户端接入 Geode
Maven 示例依赖
Gradle 示例依赖
Java 示例代码
四、Spring Boot 客户端接入 Geode
Maven 配置
Gradle 配置
运行应用
五、Apache Geode 原生客户端
.NET 客户端示例(C#)
C++ 客户端示例
六、结语
Apache Geode 客户端入门指南
Apache Geode 是一个分布式的内存数据管理平台,它提供了高可用、可扩展、低延迟的数据访问能力。本文将系统介绍如何安装 Apache Geode、启动一个基本的集群环境,并分别展示使用 Java、Spring Boot、.NET 及 C++ 等客户端进行简单的 Put/Get 操作。
一、安装 Apache Geode
你可以通过以下方式安装 Apache Geode:
-
官网下载安装包:Apache Geode — Releases
-
Docker 镜像运行
-
macOS 用户可通过 Homebrew 安装
详细步骤请参考官方文档的《How to Install Apache Geode》。
二、启动 Geode 集群
在终端中运行 gfsh
命令启动 locator 和 server,并创建一个示例 Region:
$ gfsh
gfsh> start locator
gfsh> start server
gfsh> create region --name=helloWorld --type=PARTITION
完成测试后,使用以下命令关闭集群:
gfsh> shutdown --include-locators=true
三、Java 客户端接入 Geode
Maven 示例依赖
<dependency>
<groupId>org.apache.geode</groupId>
<artifactId>geode-core</artifactId>
<version>${VERSION}</version>
</dependency>
Gradle 示例依赖
dependencies {
implementation "org.apache.geode:geode-core:${VERSION}"
}
Java 示例代码
public static void main(String[] args) {
ClientCache cache = new ClientCacheFactory().addPoolLocator("127.0.0.1", 10334).create();
Region<String, String> helloWorldRegion =
cache.<String, String>createClientRegionFactory(ClientRegionShortcut.PROXY).create("helloWorld");
helloWorldRegion.put("1", "HelloWorldValue");
String value1 = helloWorldRegion.get("1");
System.out.println(value1);
cache.close();
}
运行后将 "1"
作为键存入值 "HelloWorldValue"
,随后取出并打印。
四、Spring Boot 客户端接入 Geode
使用 Spring Initializr 创建项目,添加依赖 Spring for Apache Geode
。
Maven 配置
<properties>
<spring-geode.version>1.4.3</spring-geode.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.geode</groupId>
<artifactId>spring-geode-bom</artifactId>
<version>${spring-geode.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.geode</groupId>
<artifactId>spring-geode-starter</artifactId>
</dependency>
</dependencies>
Gradle 配置
ext {
set('springGeodeVersion', "1.4.3")
}
dependencies {
implementation 'org.springframework.geode:spring-geode-starter'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
dependencyManagement {
imports {
mavenBom "org.springframework.geode:spring-geode-bom:${springGeodeVersion}"
}
}
运行应用
项目生成后导入 IDE,启动 Spring Boot 应用后你将在控制台看到连接成功的日志:
Cluster was found; Auto-configuration made [2] successful connection(s)
无须额外代码,Spring Boot 会自动完成连接配置。
五、Apache Geode 原生客户端
Apache Geode 提供原生的 .NET 与 C++ 客户端,需要手动从源码构建,详见官网文档及 BUILDING.md
。
.NET 客户端示例(C#)
var region = cache.CreateRegionFactory(RegionShortcut.PROXY)
.SetPoolName("pool").Create<string, string>("example_userinfo");
region.Put("rtimmons", "Robert Timmons");
Console.WriteLine(region.Get("rtimmons")); // 输出:Robert Timmons
region.Remove("rtimmons");
C++ 客户端示例
auto region = cache.createRegionFactory(RegionShortcut::PROXY)
.setPoolName("pool").create("example_userinfo");
region->put("rtimmons", "Robert Timmons");
auto user = region->get("rtimmons");
std::cout << std::dynamic_pointer_cast<CacheableString>(user)->value() << std::endl;
region->remove("rtimmons");
六、结语
Apache Geode 客户端生态丰富,适用于多种语言平台。无论你使用的是原生 Java、Spring Boot、.NET 还是 C++,Geode 都提供了统一、高效的分布式数据访问能力。建议深入学习其 Client/Server 模式配置与 region 管理策略,以构建更健壮的数据服务。
参考资料:
-
Apache Geode 官网
-
Apache Geode Java 示例
-
Spring Boot for Apache Geode
-
.NET Client 文档
-
C++ Client 文档
如果你有部署集群或跨语言接入方面的需求,欢迎留言交流。