中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

發布時間:2021-10-08 09:41:46 來源:億速云 閱讀:149 作者:柒染 欄目:開發技術

使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

    1 簡介

    之前我們在文章《K8ssandra入門-詳細記錄在Linux上部署K8ssandra到Kubernetes》成功地在Ubuntu上安裝了K8ssandra,現在我們來看看如何訪問Cassandra。

    K8ssandra的組件Stargate提供了多種方式的數據訪問,對應端口如下:

    • 8080:GraphQL interface

    • 8081:REST Auth

    • 8082:REST interface

    • 9042:CQL service

    我們使用最常用的9042端口,其它請參考官方文檔。

    2 三種方式訪問

    先暴露服務,然后找到對應的端口:

    $ kubectl expose deployment k8ssandra-dc1-stargate --type=NodePort --name=stargate-out
    $ kubectl get svc stargate-out

    2.1 cqlsh命令

    安裝clqsh命令:

    $ pip install cqlsh

    連接數據庫:

    cqlsh -u k8ssandra-superuser -p YMEbXcPCW9xxxxxxx 127.0.0.1 30703

    接著進行數據操作:

    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');

    寫入了數據后,我們查詢看看:

    使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

    2.2 用IDEA連接

    配置數據庫,選擇Cassandra,連接信息如下:

    使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

    接著就可以查看相關的數據了,如下:

    使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

    2.3 通過Java程序訪問

    引入依賴如下:

    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-cassandra</artifactId>
      <version>3.2.5</version>
    </dependency>

    準備實體類:

    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> {
    }

    同時需要在配置類中加上:

    @EnableCassandraRepositories(basePackages = "com.pkslow.springboot.cassandra.repository")

    配置一下數據庫連接屬性:

    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

    這樣就基本可以了。

    啟動程序,訪問測試如下:

    使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra

    代碼請查看:https://github.com/LarryDpk/pkslow-samples

    看完上述內容,你們掌握使用Stargate訪問K8ssandra的過程中如何利用Springboot整合Cassandra的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    化德县| 怀宁县| 靖边县| 咸阳市| 五家渠市| 佛坪县| 托里县| 盈江县| 安远县| 邢台市| 丹棱县| 高青县| 娱乐| 五华县| 新龙县| 墨江| 应城市| 买车| 大丰市| 汕头市| 保德县| 平遥县| 清镇市| 海城市| 威海市| 色达县| 大冶市| 沾化县| 东阿县| 江阴市| 万年县| 乳山市| 佳木斯市| 胶南市| 湛江市| 双牌县| 伽师县| 乌兰县| 宁津县| 二连浩特市| 娄烦县|