Git Product home page Git Product logo

spring-cloud-kuberentes-learning's Introduction

Spring Cloud Self Learning Project

介绍

  • 基于Spring Boot/Spring Cloud/Spring Security/Kubernetes/Docker 鼓捣新技术栈的小项目
  • 对应项目/模块目录下有README.md说明代码实现

软件架构

  • 后端:Spring Boot, Spring Cloud, Spring Security
  • 前端: Vue.js, Thymeleaf
  • ORM:Spring Data Jpa, Spring Data Redis, Mybatis
  • 消息中间件: RabbitMQ
  • 数据库: MySQL
  • NoSQL: Redis, MongoDB
  • 待学习: ElasticSearch, Neo4j, Kafka, PostgreSQL

计划

  • Spring Security Oauth2 JWT SSO
  • Spring Data JPA 高级用法
  • 设计高并发接口/性能优化/乐观锁
  • Spring Session + Redis 会话集群
  • Mycat分库分表, UUID, 索引优化
  • 预研并行编程/WebFlux/响应式编程
  • 预研Kubernetes集群 + 微服务高可用
  • 预研Istio

项目结构

目录 说明
base-config 给my-config用的git配置项目录
DEV_OPS Kubernetes,Docker相关内容
SRC_CODE 源代码
spring-cloud-base 微服务治理
my-eureka eureka
my-config 配置中心
my-hystrix hystrix监控
my-turbine turbine监控
my-zipkin-2 zipkin监控
rest-api-base REST API
my-cache Redis公共缓存模块
my-sso-client Oauth2 SSO Client
my-sso-authorization Oauth2 SSO 授权服务器
my-sso-resource Oauth2 SSO 资源服务器(由Zuul替代)
my-zuul Zuul网关,兼做资源服务器
my-kingdom Kingdom微服务,负责提供REST API
client-sdk-base 客户端/SDK
my-chancellor Chancellor客户端,负责调用REST API

开发工具(推荐)

  • Intell IDEA 2019.1
  • Navicat/ SQLyog / MySQL WorkBench / SQLyog
  • Another RedisDesktopManager
  • Docker Windows Desktop
  • Github Desktop
  • Chrome F12
  • Postman

已完成服务

Spring Security Oauth2 JWT SSO + Spring Cloud

关键词

请不熟悉Oauth2的同学谷歌下列关键词: Oauth2, SSO, JWT, 授权码模式,对称加密,非对称加密,Token

相关链接


代码实现

  • 各模块使用授权码模式提供SSO服务,必须由客户端登录--拿到Token(通过JWT实现)--访问资源服务器。为方便本地开发,已将Zuul和资源服务器整合(即Zuul兼做资源服务器),需要通过客户端访问Oauth2 Authorization/Token接口拿到Token,再访问Zuul,再通过反向代理请求其他微服务接口。具体端口配置请见各模块application.properties/application.yml。正常开发中,可通过Zuul反向代理/负载均衡 授权或资源服务器,只不过所有微服务都必须编写资源服务器相关的Spring Security代码(应该也可以封装单独模块简化开发)。
  • POSTMAN本地测试不能直接去Zuul请求授权服务器的Token,因为它自己就是资源服务器。

相关链接

授权码模式

My-Kingdom 服务

Mysql 8 表结构

后续还会修改,添加表或者修改字段,添加索引等 表结构

计划是模拟一个中世纪国家,包括封建等级制度/三级会议/教会/犹太人/战争/社会经济等。

spring-cloud-kuberentes-learning's People

Contributors

redfisky avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.