# cloud-learning-parent **Repository Path**: edisonlin/cloud-learning-parent ## Basic Information - **Project Name**: cloud-learning-parent - **Description**: SpringCloud学习教程,从简至繁,带你清楚的认识SpringCloud全家桶包含的各项内容,学习SpringCloud各个组件,了解并掌握各个组件的作用,达到真正的深入微服务架构 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-17 - **Last Updated**: 2024-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🐼 微服务架构学习 ## 前言 > 微服务(Micoservice),服务一个或者一组相对较小且独立的功能单元,是用户可以感知的最小功能集。 > 具有职责单一,充分解耦,集群化等特点。目前比较流行的微服务技术有阿里的dubbo和Netflix的feign。很多人将dubbo与spring > cloud相提并论,其实这种观念是错误的,spring cloud是一个生态体系,dubbo是一个框架。 > dubbo与feign的最大差异是:dubbo是基于tcp,feign是基于http的客户端封装。只要是能支持远程调用的技术,其实都可以算做微服务技术,这样的有一个专有名词RPC(Remote > Procedure Call,远程过程调用)。常见的 > rpc技术有:java的RMI,Caucho Technolopy的Hession和Burlap、spring的HTTP > invoke、JAX-RPC和JAX-WS。有兴趣的可以去了解以上这些技术,在此就不再详述了。 ## 此次学习的目的 > 阐述Spring > Cloud的相关组件,比如eureka、ribbon、feign、zuul。搭建注册中心,网关路由,服务提供者,服务调用者,让读者可以快速理解和使用相关技术。本人其它博文会详述各个组件使用方式,配置,源码阅读和理解。 ## 目录 ### 概述 - [SpringCloud整体架构预览](doc/architecture-preview.md) ### Spring Cloud组件 - [Spring Cloud Eureka:服务注册与发现](doc/eureka-service-govern.md) - [Spring Cloud Ribbon:负载均衡的服务调用](doc/ribbon-service.md) - [Spring Cloud Hystrix:服务容错保护](doc/service-fault-protection.md) - [Spring Cloud Hystrix Dashboard:断路器执行监控](doc/service-fault-protection-instance-monitor.md) - [Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用](doc/service-load-balancing-and-service-fault-tolerance.md) - [Spring Cloud Zuul:API网关服务](doc/service-zuul.md) - [Spring Cloud Config:外部集中化配置管理](doc/external-centralized-configuration.md) - [Spring Cloud Bus:消息总线](doc/message-bus.md) - [Spring Cloud Sleuth:分布式请求链路跟踪](doc/sleuth-zipkin.md) ——[ElasticSearch安装教程](doc/elasticsearch/elasticsearch-installation_tutorial-windows.md) - [Spring Cloud Consul:服务治理与配置中心](doc/service-governance-and-configuration-center.md) - [Spring Cloud Gateway:新一代API网关服务](doc/api-gateway-service.md) ### Spring Cloud Alibaba - [Spring Cloud Alibaba:Nacos 作为注册中心和配置中心使用](doc/alibaba-nacos-notes.md) - [Spring Cloud Alibaba:Sentinel实现熔断与限流](doc/alibaba-sentinel-notes.md) - [系统架构演变 + Nginx反向代理与负载均衡](doc/system-architecture-evolution.md) ### ElasticSearch搜索中间件学习 - [初步了解ElasticSearch](doc/elasticsearch/understand-elasticsearch.md) - [Elasticsearch下载安装-windows系统](doc/elasticsearch/elasticsearch-installation_tutorial-windows.md) - [Elasticsearch下载安装-linux系统](doc/elasticsearch/elasticsearch-installation_tutorial-linux.md) - [Elasticsearch可视化平台Kibana下载安装-windows](doc/elasticsearch/elasticsearch-visualization-tool-kibana-windows.md) - [Elasticsearch可视化平台Kibana下载安装-linux](doc/elasticsearch/elasticsearch-visualization-tool-kibana-linux.md) - [Elasticsearch配置IK分词器-linux](doc/elasticsearch/elasticsearch-ik-tokenizer.md) - [Elasticsearch入门实践](doc/elasticsearch/elasticsearch-getting-started.md) ### 《Spring Cloud与Docker微服务架构实战》读书笔记 - [微服务架构概述](doc/springCloudDockerNote/microservice-architecture-overview.md) - [微服务开发框架―Spring Cloud](doc/springCloudDockerNote/spring-cloud-learn.md) ## 项目结构 ``` lua cloud-learning-parent ├── eureka-server -- eureka注册中心 ├── eureka-security-server -- 带登录认证的eureka注册中心 ├── eureka-client -- eureka客户端 ├── user-service-client -- 提供User对象CRUD接口的服务 ├── ribbon-service-client -- ribbon服务调用测试服务 ├── hystrix-service-client -- hystrix服务调用测试服务 ├── turbine-service-client -- 聚合收集hystrix实例监控信息的服务 ├── hystrix-dashboard-client -- 展示hystrix实例监控信息的仪表盘 ├── feign-service-client -- feign服务调用测试服务 ├── zuul-proxy-client -- zuul作为网关的测试服务 ├── config-server -- 配置中心服务 ├── config-security-server -- 带安全认证的配置中心服务 ├── config-client -- 获取配置的客户端服务 ├── consul-config-client -- 用于演示consul作为配置中心的consul客户端 ├── consul-user-service-client -- 注册到consul的提供User对象CRUD接口的服务 ├── consul-ribbon-service-client -- 注册到consul的ribbon服务调用测试服务 ├── api-gateway -- gateway作为网关的测试服务 └── micro-knife4j -- Gateway + Knife4j聚合API文档 ```