From ebda3d212c2d1607cfe1918c169c3114a9d5de59 Mon Sep 17 00:00:00 2001 From: Yang Libin Date: Fri, 27 Dec 2019 11:51:01 +0800 Subject: [PATCH] docs: huifer-micro-services-technology-stack.md @doocs @yanglbme @huifer --- ...huifer-micro-services-technology-stack.md} | 100 ++++++++++-------- 1 file changed, 54 insertions(+), 46 deletions(-) rename docs/micro-services/{huifer-micro-services-technology-stack .md => huifer-micro-services-technology-stack.md} (61%) diff --git a/docs/micro-services/huifer-micro-services-technology-stack .md b/docs/micro-services/huifer-micro-services-technology-stack.md similarity index 61% rename from docs/micro-services/huifer-micro-services-technology-stack .md rename to docs/micro-services/huifer-micro-services-technology-stack.md index ff8b1246c..d209920c0 100644 --- a/docs/micro-services/huifer-micro-services-technology-stack .md +++ b/docs/micro-services/huifer-micro-services-technology-stack.md @@ -1,32 +1,40 @@ # 微服务技术栈 - Author: [HuiFer](https://github.com/huifer) - Description: 该文简单介绍微服务技术栈有哪些分别用来做什么 + ## 技术栈 ### 微服务开发 -> 作用: 快速开发服务. +作用:快速开发服务。 + - Spring - SpringMvc - SpringBoot -> [官网](https://spring.io/),Spring目前是JavaWeb开发人员必不可少的一个框架,SpringBoot简化了Spring开发的配置目前也是业内主流开发框架. + +[官网](https://spring.io/),Spring 目前是 JavaWeb 开发人员必不可少的一个框架,SpringBoot 简化了 Spring 开发的配置目前也是业内主流开发框架。 + ### 微服务注册发现 -> 作用: 发现服务,注册服务.集中管理服务 +作用:发现服务,注册服务,集中管理服务 + #### Eureka -- 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/) +- 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/) #### Zookeeper - > ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. > - > zookeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务. + > zookeeper 是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务. - [GitHub](https://github.com/apache/zookeeper) #### Zookeeper 和 Eureka 区别 -1. Zookeeper保证CP , Eureka 保证AP - - C-数据一致性;A-服务可用性;P-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个. +Zookeeper 保证 CP,Eureka 保证 AP: + +- C:数据一致性; +- A:服务可用性; +- P:服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个。 ### 微服务配置管理 > 作用:统一管理一个或多个服务的配置信息,集中管理. #### Disconf -- > Distributed Configuration Management Platform(分布式配置管理平台) ,它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务,是一套完整的基于zookeeper的分布式配置统一解决方案. +- > Distributed Configuration Management Platform(分布式配置管理平台) ,它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务,是一套完整的基于 zookeeper 的分布式配置统一解决方案. - [GitHub](https://github.com/knightliao/disconf) #### SpringCloudConfig @@ -39,36 +47,36 @@ ### 权限认证 > 作用:根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少. #### 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 -- [官网](官网) +- [官网 ](官网) ### 定时任务 > 作用: 定时做什么. #### Quartz -- [官网](http://www.quartz-scheduler.org/) +- [官网 ](http://www.quartz-scheduler.org/) -### 微服务调用(协议) +### 微服务调用 (协议) > 通讯协议 #### Rest -- 通过HTTP/HTTPS发送Rest请求进行数据交互 +- 通过 HTTP/HTTPS 发送 Rest 请求进行数据交互 #### RPC - Remote Procedure Call -- 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC不依赖于具体的网络传输协议,tcp、udp等都可以. +- 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC 不依赖于具体的网络传输协议,tcp、udp 等都可以. #### gRPC -- [官网](https://www.grpc.io/) +- [官网 ](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调用 +- 纯 Java 调用 ### 服务接口调用 @@ -97,16 +105,16 @@ ### 服务的负载均衡 > 作用:降低服务压力,增加吞吐量 #### Ribbon -- >Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现 +- >Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 Netflix Ribbon 实现 > - [GitHub](https://github.com/Netflix/ribbon) #### Nginx -- > Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务 +- > Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务 > > - [GitHub](https://github.com/nginx/nginx) -#### Nginx 与 Ribbon区别 -1. Nginx 属于服务端负载均衡,Ribbon属于客户端负载均衡.Nginx作用与Tomcat,Ribbon作用与各个服务之间的调用(RPC) +#### Nginx 与 Ribbon 区别 +1. Nginx 属于服务端负载均衡,Ribbon 属于客户端负载均衡.Nginx 作用与 Tomcat,Ribbon 作用与各个服务之间的调用 (RPC) @@ -116,16 +124,16 @@ ### 消息队列 > 作用: 解耦业务,异步化处理数据 #### Kafka -- [官网](http://kafka.apache.org/) +- [官网 ](http://kafka.apache.org/) #### RabbitMQ -- [官网](https://www.rabbitmq.com/) +- [官网 ](https://www.rabbitmq.com/) #### RocketMQ -- [官网](http://rocketmq.apache.org/) +- [官网 ](http://rocketmq.apache.org/) #### activeMQ -- [官网](http://activemq.apache.org/) +- [官网 ](http://activemq.apache.org/) -### 日志采集(elk) +### 日志采集 (elk) > 作用:收集各服务日志提供日志分析、用户画像等 #### Elasticsearch - [GitHub](https://github.com/elastic/elasticsearch) @@ -135,8 +143,8 @@ - [GitHub](https://github.com/elastic/kibana) -### API网关 -> 作用:外部请求通过API网关进行拦截处理,再转发到真正的服务 +### API 网关 +> 作用:外部请求通过 API 网关进行拦截处理,再转发到真正的服务 #### Zuul > Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more. > @@ -144,13 +152,13 @@ ### 服务监控 -> 作用:以可视化或非可视化的形式展示出各个服务的运行情况(CPU、内存、访问量等) +> 作用:以可视化或非可视化的形式展示出各个服务的运行情况 (CPU、内存、访问量等) #### Zabbix - [GitHub](https://github.com/jjmartres/Zabbix) #### Nagios -- [官网](https://www.nagios.org/) +- [官网 ](https://www.nagios.org/) #### Metrics -- [官网](https://metrics.dropwizard.io) +- [官网 ](https://metrics.dropwizard.io) ### 服务链路追踪 > 作用:明确服务之间的调用关系 @@ -165,29 +173,29 @@ > 作用: 存储数据 #### 关系型数据库 ##### MySql -- [官网](https://www.mysql.com/) +- [官网 ](https://www.mysql.com/) ##### Oracle -- [官网](https://www.oracle.com/index.html) +- [官网 ](https://www.oracle.com/index.html) ##### MsSql -- [官网](https://docs.microsoft.com/zh-cn/sql/?view=sql-server-ver15) +- [官网 ](https://docs.microsoft.com/zh-cn/sql/?view=sql-server-ver15) ##### PostgreSql -- [官网](https://www.postgresql.org/) +- [官网 ](https://www.postgresql.org/) #### 非关系型数据库 ##### Mongodb -- [官网](https://www.mongodb.com/) +- [官网 ](https://www.mongodb.com/) ##### Elasticsearch - [GitHub](https://github.com/elastic/elasticsearch) ### 缓存 > 作用: 存储数据 #### redis -- [官网](https://redis.io/) +- [官网 ](https://redis.io/) ### 分库分表 > 作用: 数据库分库分表方案. #### shardingsphere -- [官网](http://shardingsphere.apache.org/) +- [官网 ](http://shardingsphere.apache.org/) #### Mycat -- [官网](http://www.mycat.io/) +- [官网 ](http://www.mycat.io/) @@ -195,10 +203,10 @@ ### 服务部署 > 作用: 将项目快速部署、上线、持续集成. #### Docker -- [官网](http://www.docker.com/) +- [官网 ](http://www.docker.com/) #### Jenkins -- [官网](https://jenkins.io/zh/) +- [官网 ](https://jenkins.io/zh/) #### Kubernetes(K8s) -- [官网](https://kubernetes.io/) +- [官网 ](https://kubernetes.io/) #### Mesos -- [官网](http://mesos.apache.org/) +- [官网 ](http://mesos.apache.org/)