使用Stargate訪問K8ssandra的過程之Springboot整合Cassandra
1 簡(jiǎn)介
之前我們?cè)谖恼隆?a target="_blank" href="http://www.dhdzp.com/article/224602.htm">K8ssandra入門-詳細(xì)記錄在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安裝了K8ssandra,現(xiàn)在我們來看看如何訪問Cassandra。
K8ssandra的組件Stargate提供了多種方式的數(shù)據(jù)訪問,對(duì)應(yīng)端口如下:
- 8080:GraphQL interface
- 8081:REST Auth
- 8082:REST interface
- 9042:CQL service
我們使用最常用的9042端口,其它請(qǐng)參考官方文檔。
2 三種方式訪問
先暴露服務(wù),然后找到對(duì)應(yīng)的端口:
$ kubectl expose deployment k8ssandra-dc1-stargate --type=NodePort --name=stargate-out $ kubectl get svc stargate-out
2.1 cqlsh命令
安裝clqsh命令:
$ pip install cqlsh
連接數(shù)據(jù)庫(kù):
cqlsh -u k8ssandra-superuser -p YMEbXcPCW9xxxxxxx 127.0.0.1 30703
接著進(jìn)行數(shù)據(jù)操作:
CREATE KEYSPACE pkslow WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};
use pkslow;
CREATE TABLE users (username text primary key, password text, email text);
INSERT INTO users (username, password, email) values ('larry', 'larry123', 'larry@pkslow.com');
INSERT INTO users (username, password, email) values ('admin', '123456', 'admin@pkslow.com');
INSERT INTO users (username, password, email) values ('carol', '123456', 'carol@pkslow.com');
INSERT INTO users (username, password, email) values ('david', '123456', 'david@pkslow.com');
寫入了數(shù)據(jù)后,我們查詢看看:

2.2 用IDEA連接
配置數(shù)據(jù)庫(kù),選擇Cassandra,連接信息如下:

接著就可以查看相關(guān)的數(shù)據(jù)了,如下:

2.3 通過Java程序訪問
引入依賴如下:
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-cassandra</artifactId> <version>3.2.5</version> </dependency>
準(zhǔn)備實(shí)體類:
package com.pkslow.springboot.cassandra.entity;
import org.springframework.data.annotation.Id;
import org.springframework.data.cassandra.core.mapping.Table;
@Table(value = "users")
public class User {
@Id
private String username;
private String password;
private String email;
}
Reposity類:
package com.pkslow.springboot.cassandra.repository;
import com.pkslow.springboot.cassandra.entity.User;
import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends CassandraRepository<User, String> {
}
同時(shí)需要在配置類中加上:
@EnableCassandraRepositories(basePackages = "com.pkslow.springboot.cassandra.repository")
配置一下數(shù)據(jù)庫(kù)連接屬性:
server.port=8080spring.data.cassandra.contact-points=8.134.124.38:30703spring.data.cassandra.username=k8ssandra-superuserspring.data.cassandra.password=YMEbXcPCW9xrfxxxxxspring.data.cassandra.local-datacenter=dc1spring.data.cassandra.keyspace-name=pkslow
這樣就基本可以了。
啟動(dòng)程序,訪問測(cè)試如下:

3 總結(jié)
代碼請(qǐng)查看:https://github.com/LarryDpk/pkslow-samples
到此這篇關(guān)于使用Stargate訪問K8ssandra的過程之Springboot整合Cassandra的文章就介紹到這了,更多相關(guān)Springboot整合Cassandra內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java foreach循環(huán)是否可以修改數(shù)據(jù)的值問題解決方法
最近在做項(xiàng)目的時(shí)候,需要修改一個(gè)數(shù)組里面各個(gè)元素的值,foreach循環(huán)迭代數(shù)組元素時(shí),不能改變數(shù)組元素的值,這篇文章給大家介紹Java foreach循環(huán)是否可以修改數(shù)據(jù)的值的問題及解決方法,感興趣的朋友一起看看吧2024-02-02
Java獲取Object中Value的實(shí)現(xiàn)方法
本文介紹了在Java中獲取對(duì)象屬性值的幾種常見方法,包括使用反射機(jī)制、getter方法、接口或抽象類、Map數(shù)據(jù)結(jié)構(gòu)、序列化與反序列化以及JavaBeans規(guī)范,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),選擇合適的方法取決于具體需求2025-03-03
SpringBoot限制接口訪問頻率功能實(shí)現(xiàn)
最近在基于SpringBoot做一個(gè)面向普通用戶的系統(tǒng),為了保證系統(tǒng)的穩(wěn)定性,防止被惡意攻擊,我想控制用戶訪問每個(gè)接口的頻率,接下來通過本文給大家介紹SpringBoot限制接口訪問頻率功能實(shí)現(xiàn),需要的朋友可以參考下2023-05-05
Spring與Struts整合之使用自動(dòng)裝配操作示例
這篇文章主要介紹了Spring與Struts整合之使用自動(dòng)裝配操作,結(jié)合實(shí)例形式詳細(xì)分析了Spring與Struts整合使用自動(dòng)裝配具體操作步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2020-01-01
log4j2采用AsyncLogger出現(xiàn)的錯(cuò)誤及解決方案
這篇文章主要介紹了log4j2采用AsyncLogger出現(xiàn)的錯(cuò)誤及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Java線程之守護(hù)線程(Daemon)用法實(shí)例
這篇文章主要介紹了Java線程之守護(hù)線程(Daemon)用法,較為詳細(xì)的分析了守護(hù)線程的功能與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Mybatis?plus多租戶方案的實(shí)戰(zhàn)踩坑記錄
MybaitsPlus多租戶處理器是一個(gè)對(duì)于多租戶問題的解決方案,下面這篇文章主要給大家介紹了關(guān)于Mybatis?plus多租戶方案踩坑的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12

