diff --git a/README.md b/README.md index 01a4762..a399ac3 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ - Spring Boot 和 Spring Cloud,谈谈你对它们的理解? - 什么是服务熔断?什么是服务降级? - 微服务的优缺点分别是什么?说一下你在项目开发中碰到的坑? -- [你所知道的微服务技术栈都有哪些?](/docs/micro-services/huifer-micro-services-technology-stack%20.md) +- [你所知道的微服务技术栈都有哪些?](/docs/micro-services/huifer-micro-services-technology-stack.md) - [微服务治理策略](/docs/micro-services/huifer-micro-service-governance.md) - Eureka 和 Zookeeper 都可以提供服务注册与发现的功能,它们有什么区别? - ...... diff --git a/docs/micro-services/huifer-micro-services-technology-stack.md b/docs/micro-services/huifer-micro-services-technology-stack.md index d209920..30091fa 100644 --- a/docs/micro-services/huifer-micro-services-technology-stack.md +++ b/docs/micro-services/huifer-micro-services-technology-stack.md @@ -16,14 +16,15 @@ 作用:发现服务,注册服务,集中管理服务 #### Eureka -- Eureka Server : 提供服务注册服务,各个节点启动后,会在 Eureka Server 中进行注册. +- Eureka Server : 提供服务注册服务,各个节点启动后,会在 Eureka Server 中进行注册。 - Eureka Client : 简化与 Eureka Server 的交互操作 -- Spring Cloud Netflix : [GitHub](https://github.com/spring-cloud/spring-cloud-netflix),[文档 ](https://cloud.spring.io/spring-cloud-netflix/reference/html/) +- Spring Cloud Netflix : [GitHub](https://github.com/spring-cloud/spring-cloud-netflix),[文档](https://cloud.spring.io/spring-cloud-netflix/reference/html/) + #### Zookeeper -- > ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. - > - > zookeeper 是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务. -- [GitHub](https://github.com/apache/zookeeper) +> ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. + +[Zookeeper](https://github.com/apache/zookeeper) 是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务。 + #### Zookeeper 和 Eureka 区别 Zookeeper 保证 CP,Eureka 保证 AP: @@ -32,29 +33,33 @@ Zookeeper 保证 CP,Eureka 保证 AP: - P:服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个。 ### 微服务配置管理 -> 作用:统一管理一个或多个服务的配置信息,集中管理. +作用:统一管理一个或多个服务的配置信息,集中管理。 + #### Disconf -- > Distributed Configuration Management Platform(分布式配置管理平台) ,它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务,是一套完整的基于 zookeeper 的分布式配置统一解决方案. +Distributed Configuration Management Platform(分布式配置管理平台) ,它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务,是一套完整的基于 zookeeper 的分布式配置统一解决方案。 + - [GitHub](https://github.com/knightliao/disconf) #### SpringCloudConfig - [GitHub](https://github.com/spring-cloud/spring-cloud-config) #### Apollo -- > Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景. +Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,用于微服务配置管理场景。 + - [GitHub](https://github.com/ctripcorp/apollo) - ### 权限认证 -> 作用:根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少. +作用:根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少。 + #### Spring Security -- [官网 ](https://spring.io/projects/spring-security) +- [官网](https://spring.io/projects/spring-security) #### apache Shiro > Apache Shiro™ is a powerful and easy-to-use Java security framework that performs authentication, authorization, cryptography, and session management. With Shiro’s easy-to-understand API, you can quickly and easily secure any application – from the smallest mobile applications to the largest web and enterprise applications. -- [官网 ](http://shiro.apache.org/) +- [官网](http://shiro.apache.org/) ### 批处理 -> 作用: 批量处理同类型数据或事物 +作用: 批量处理同类型数据或事物 + #### Spring Batch - [官网 ](官网) ### 定时任务 @@ -69,24 +74,24 @@ Zookeeper 保证 CP,Eureka 保证 AP: - 通过 HTTP/HTTPS 发送 Rest 请求进行数据交互 #### RPC - Remote Procedure Call -- 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC 不依赖于具体的网络传输协议,tcp、udp 等都可以. +- 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 不依赖于具体的网络传输协议,tcp、udp 等都可以。 + #### gRPC - [官网 ](https://www.grpc.io/) - > A high-performance, open-source universal RPC framework - > 所谓 RPC(remote procedure call 远程过程调用) 框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从 server/client 模型.使用的时候客户端调用 server 端提供的接口就像是调用本地的函数一样. + > 所谓 RPC(remote procedure call 远程过程调用) 框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从 server/client 模型。使用的时候客户端调用 server 端提供的接口就像是调用本地的函数一样。 #### RMI - Remote Method Invocation - 纯 Java 调用 ### 服务接口调用 -> 作用: 多个服务之间的通讯 +> 作用:多个服务之间的通讯 #### Feign(HTTP) -- > Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去调用,而 Feign 是一个使用起来更加方便的 HTTP 客戶端,使用起来就像是调用自身工程的方法,而感觉不到是调用远程方法. +Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去调用,而 Feign 是一个使用起来更加方便的 HTTP 客戶端,使用起来就像是调用自身工程的方法,而感觉不到是调用远程方法。 + - [GitHub](https://github.com/OpenFeign/feign) - - ### 服务熔断 > 作用: 当请求到达一定阈值时不让请求继续. #### Hystrix