精华内容
下载资源
问答
  • 微服务概念及主流框架对比

    千次阅读 2019-02-16 13:52:46
    微服务概念 什么是微服务 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合...微服务技术栈都有哪些 维度: 服务治理 服务调用 服务调用 服务负载均衡 服务监控 消息队列 Spri...

    微服务概念

    在这里插入图片描述

    什么是微服务

    微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务做一件事,从技术角度看即使以各种小而独立的处理过程,类似进程概念,能够自行单独启动或销毁,甚至可以拥有自己独立的数据库。

    微服务优缺点

    在这里插入图片描述
    在这里插入图片描述

    微服务技术栈都有哪些

    维度:

    • 服务治理
    • 服务调用
    • 服务调用
    • 服务负载均衡
    • 服务监控
    • 消息队列

    SpringBoot 和 SpringCloud 是什么关系

    依赖关系:

    • SpringBoot可以单独使用,不依赖于SpringCloud

    • SpringCloud依赖于SpringBoot,不能单独使用

    SpringBoot专注于快速方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。

    SpringCloud和Dubbo对比

    Dubbo完整架构图:

    在这里插入图片描述

    社区活跃度对比:

    • Dubbo

    在这里插入图片描述

    • SpringCloud

    在这里插入图片描述

    DUbbo SpringCloud
    服务注册中心 Zookeeper SpringCloud
    服务调用方式 RPC RESTAPI
    服务监控 Dubbo-monitor SpringBootAdmin
    断路器 不完善 SpringCloud Netflix Hystrix
    服务网关 SpringCloud Netflix Hystrix
    分布式配置 SpringCloud Config
    服务跟踪 SpringCloud Sleuth
    消息总线 SpringCloud Bus
    数据流 SpringCloud Stream
    批量任务 SpringCloud Task
    展开全文
  • 目前主流的开发框架有哪些? 构建工具:maven,Gradle,spring boot initializr 单元测试:junit 开发框架容器:spring,spring boot web服务器:tomcat,jboss 微服务:spring cloud 界面模式:spring mvc 数据层...

    目前主流的开发框架都有哪些?

    构建工具:maven,Gradle,spring boot initializr
    单元测试:junit
    开发框架容器:spring,spring boot
    web服务器:tomcat,jboss
    微服务:spring cloud
    界面模式:spring mvc
    数据层:JPA、Mybatis、Mybatis-plus、pagehelper
    模板引擎:freemaker 、thymeleaf
    云计算容器:Docker、Docker compose、Kubernetes(k8s)
    分布式RPC框架:Dubbo
    日志:Log4j、logback、sf4j、Log4j2、Logstash
    日志分析:ELK
    搜索:Elasticsearch
    消息队列:Kafka、ActiveMQ、RabbitMQ、RocketMQ
    持续集成:jenkins
    压力测试工具:jmeter
    nosql数据库:mongodb
    大数据分析:Apache Spark、Apache Hadoop,Apache HBase,Apache Hive,Apache Storm,Apache Flink、Apache Ignite、Apache Arrow
    分布式应用程序协调:zookeeper
    高速缓存:redis
    对象存储服务:minio
    token管理:jwt
    诊断工具:arthas
    安全框架:Apache Shiro、Spring security
    json处理:fastjson、Jackson
    office文档操作:apache poi
    属性映射:mapStruct
    Java硬件信息库:oshi
    Java连接SSH服务器:ganymed
    自动生成接口文档:Swagger-ui
    Swagger的增强:knife4j
    任务调度框架:quartz
    注解:lombok
    JDBC连接池监控:Druid
    Java工具包:Hutool、Google Guava
    内嵌数据库:H2,sqlite
    开源数据库:MySQL、postgresql
    数据检查:hibernate validator
    代码生成器:Mybatis generator

    展开全文
  • 李老师你好,我想问一下目前主流的分布式服务框架有哪些,并且它们之间的优缺点以及各自的使用场景是什么?与微服务的关系又是什么?
  • SpringCloud微服务核心技术精讲

    千人学习 2019-12-13 21:19:17
    [为什么要学习Spring Cloud微服务] SpringCloud作为主流微服务框架,已成为各互联网公司的首选框架,国内外企业占有率持续攀升,是Java工程师的必备技能。就连大名鼎鼎的阿里巴巴dubbo也正式更名为Spring Cloud ...
  • Description: 该文简单介绍微服务技术栈有哪些分别用来做什么 技术栈 微服务开发 作用: 快速开发服务. Spring SpringMvc SpringBoot 官网,Spring目前是JavaWeb开发人员必不可少的一个框架,SpringBoot简化了...

    微服务技术栈

    • Author: HuiFer
    • Description: 该文简单介绍微服务技术栈有哪些分别用来做什么

    技术栈

    微服务开发

    作用: 快速开发服务.

    • Spring
    • SpringMvc
    • SpringBoot

    官网,Spring目前是JavaWeb开发人员必不可少的一个框架,SpringBoot简化了Spring开发的配置目前也是业内主流开发框架.

    微服务注册发现

    作用: 发现服务,注册服务.集中管理服务

    Eureka

    • Eureka Server : 提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册.
    • Eureka Client : 简化与Eureka Server的交互操作
    • Spring Cloud Netflix : GitHub,文档

    Zookeeper

    • ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

      zookeeper是一个集中的服务,用于维护配置信息、命名、提供分布式同步和提供组服务.

    • GitHub

    Zookeeper 和 Eureka 区别

    1. Zookeeper保证CP , Eureka 保证AP
      • C-数据一致性;A-服务可用性;P-服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个.

    微服务配置管理

    作用:统一管理一个或多个服务的配置信息,集中管理.

    Disconf

    • Distributed Configuration Management Platform(分布式配置管理平台) ,它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务,是一套完整的基于zookeeper的分布式配置统一解决方案.

    • GitHub

    SpringCloudConfig

    Apollo

    • Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景.

    • GitHub

    权限认证

    作用:根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源,不多不少.

    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.

    批处理

    作用: 批量处理同类型数据或事物

    Spring Batch

    定时任务

    作用: 定时做什么.

    Quartz

    微服务调用(协议)

    通讯协议

    Rest

    • 通过HTTP/HTTPS发送Rest请求进行数据交互

    RPC

    • Remote Procedure Call
    • 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC不依赖于具体的网络传输协议,tcp、udp等都可以.

    gRPC

    • 官网
    • A high-performance, open-source universal RPC framework
      所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型.使用的时候客户端调用server端提供的接口就像是调用本地的函数一样.

    RMI

    • Remote Method Invocation
    • 纯Java调用

    服务接口调用

    作用: 多个服务之间的通讯

    Feign(HTTP)

    • Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去调用,而 Feign 是一个使用起来更加方便的 HTTP 客戶端,使用起来就像是调用自身工程的方法,而感觉不到是调用远程方法.

    • GitHub

    服务熔断

    作用: 当请求到达一定阈值时不让请求继续.

    Hystrix

    • Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.

    • GitHub

    Sentinel

    • A lightweight powerful flow control component enabling reliability and monitoring for microservices. (轻量级的流量控制、熔断降级 Java 库)

    • GitHub

    服务的负载均衡

    作用:降低服务压力,增加吞吐量

    Ribbon

    • Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现

    • GitHub

    Nginx

    • Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务

    • GitHub

    Nginx 与 Ribbon区别

    1. Nginx 属于服务端负载均衡,Ribbon属于客户端负载均衡.Nginx作用与Tomcat,Ribbon作用与各个服务之间的调用(RPC)

    消息队列

    作用: 解耦业务,异步化处理数据

    Kafka

    RabbitMQ

    RocketMQ

    activeMQ

    日志采集(elk)

    作用:收集各服务日志提供日志分析、用户画像等

    Elasticsearch

    Logstash

    Kibana

    API网关

    作用:外部请求通过API网关进行拦截处理,再转发到真正的服务

    Zuul

    Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.

    服务监控

    作用:以可视化或非可视化的形式展示出各个服务的运行情况(CPU、内存、访问量等)

    Zabbix

    Nagios

    Metrics

    服务链路追踪

    作用:明确服务之间的调用关系

    Zipkin

    Brave

    数据存储

    作用: 存储数据

    关系型数据库

    MySql
    Oracle
    MsSql
    PostgreSql

    非关系型数据库

    Mongodb
    Elasticsearch

    缓存

    作用: 存储数据

    redis

    分库分表

    作用: 数据库分库分表方案.

    shardingsphere

    Mycat

    服务部署

    作用: 将项目快速部署、上线、持续集成.

    Docker

    Jenkins

    Kubernetes(K8s)

    Mesos

    展开全文
  • Description: 该文简单介绍微服务技术栈有哪些分别用来做什么 技术栈 微服务开发 作用:快速开发服务。 Spring Spring MVC Spring Boot 官网,Spring 目前是 JavaWeb 开发人员必不可少的一个框架,SpringBoot ...

    微服务技术栈

    • Author: shasha
    • Description: 该文简单介绍微服务技术栈有哪些分别用来做什么

    技术栈

    微服务开发

    作用:快速开发服务。

    • Spring
    • Spring MVC
    • Spring Boot

    官网,Spring 目前是 JavaWeb 开发人员必不可少的一个框架,SpringBoot 简化了 Spring 开发的配置目前也是业内主流开发框架。

    微服务注册发现

    作用:发现服务,注册服务,集中管理服务

    Eureka

    • Eureka Server : 提供服务注册服务, 各个节点启动后,会在 Eureka Server 中进行注册。
    • Eureka Client : 简化与 Eureka Server 的交互操作
    • Spring Cloud Netflix : GitHub文档

    Zookeeper

    ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services.

    Zookeeper 是一个集中的服务, 用于维护配置信息、命名、提供分布式同步和提供组服务。

    Zookeeper 和 Eureka 区别

    Zookeeper 保证 CP,Eureka 保证 AP:

    • C:数据一致性;
    • A:服务可用性;
    • P:服务对网络分区故障的容错性,这三个特性在任何分布式系统中不能同时满足,最多同时满足两个。

    微服务配置管理

    作用:统一管理一个或多个服务的配置信息, 集中管理。

    Disconf

    Distributed Configuration Management Platform(分布式配置管理平台) , 它是专注于各种分布式系统配置管理 的通用组件/通用平台, 提供统一的配置管理服务, 是一套完整的基于 zookeeper 的分布式配置统一解决方案。

    SpringCloudConfig

    Apollo

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,用于微服务配置管理场景。

    权限认证

    作用:根据系统设置的安全规则或者安全策略, 用户可以访问而且只能访问自己被授权的资源,不多不少。

    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.

    批处理

    作用: 批量处理同类型数据或事物

    Spring Batch

    定时任务

    作用: 定时做什么.

    Quartz

    微服务调用 (协议)

    通讯协议

    Rest

    • 通过 HTTP/HTTPS 发送 Rest 请求进行数据交互

    RPC

    • Remote Procedure Call
    • 它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC 不依赖于具体的网络传输协议,tcp、udp 等都可以。

    gRPC

    • 官网

    • A high-performance, open-source universal RPC framework

      所谓 RPC(remote procedure call 远程过程调用) 框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从 server/client 模型。使用的时候客户端调用 server 端提供的接口就像是调用本地的函数一样。

    RMI

    • Remote Method Invocation
    • 纯 Java 调用

    服务接口调用

    作用:多个服务之间的通讯

    Feign(HTTP)

    Spring Cloud Netflix 的微服务都是以 HTTP 接口的形式暴露的,所以可以用 Apache 的 HttpClient 或 Spring 的 RestTemplate 去调用,而 Feign 是一个使用起来更加方便的 HTTP 客戶端,使用起来就像是调用自身工程的方法,而感觉不到是调用远程方法。

    服务熔断

    作用: 当请求到达一定阈值时不让请求继续.

    Hystrix

    • Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.

    • GitHub

    Sentinel

    • A lightweight powerful flow control component enabling reliability and monitoring for microservices. (轻量级的流量控制、熔断降级 Java 库)

    • GitHub

    服务的负载均衡

    作用:降低服务压力, 增加吞吐量

    Ribbon

    • Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具, 它基于 Netflix Ribbon 实现

    • GitHub

    Nginx

    Nginx (engine x) 是一个高性能的 HTTP 和反向代理 web 服务器, 同时也提供了 IMAP/POP3/SMTP 服务

    Nginx 与 Ribbon 区别

    1. Nginx 属于服务端负载均衡,Ribbon 属于客户端负载均衡.Nginx 作用与 Tomcat,Ribbon 作用与各个服务之间的调用 (RPC)

    消息队列

    作用: 解耦业务, 异步化处理数据

    Kafka

    RabbitMQ

    RocketMQ

    activeMQ

    日志采集 (elk)

    作用: 收集各服务日志提供日志分析、用户画像等

    Elasticsearch

    Logstash

    Kibana

    API 网关

    作用: 外部请求通过 API 网关进行拦截处理, 再转发到真正的服务

    Zuul

    Zuul is a gateway service that provides dynamic routing, monitoring, resiliency, security, and more.

    服务监控

    作用: 以可视化或非可视化的形式展示出各个服务的运行情况 (CPU、内存、访问量等)

    Zabbix

    Nagios

    Metrics

    服务链路追踪

    作用: 明确服务之间的调用关系

    Zipkin

    Brave

    数据存储

    作用: 存储数据

    关系型数据库

    MySql
    Oracle
    MsSql
    PostgreSql

    非关系型数据库

    Mongodb
    Elasticsearch

    缓存

    作用: 存储数据

    redis

    分库分表

    作用: 数据库分库分表方案.

    shardingsphere

    Mycat

    服务部署

    作用: 将项目快速部署、上线、持续集成.

    Docker

    Jenkins

    Kubernetes(K8s)

    Mesos

    展开全文
  • 你觉得Springboot有哪些优点(为什么要使用Springboot) 1.快速搭建项目, 2,与主流框架集成无需配置集成. 3.内嵌服务容器. 4.具有应用监控. 5.开发部署方便,后期与云计算平台集成方便(docker). 二.Springboot 和 ...
  • 微服务技术栈-2020

    2020-06-22 18:29:09
    * Description: 该文简单介绍微服务技术栈有哪些分别用来做什么 ## 技术栈 ### 微服务开发 作用:快速开发服务。 * Spring * Spring MVC * Spring Boot [官网](https://spring.io/),Spring 目前是 JavaWeb ...
  • 初级Java程序员需要掌握哪些主流技术才能拿20K? 某天,小五看到小丽愁眉苦脸的,于是问了她什么心事~ (1)常用源码框架 (2)互联网分布式架构 (3)团队协作开发 (4)架构基础 ...
  • 1、微服务技术微服务架构主要:Spring Cloud、 Dubbo、 Dubbox等,以 Dubbo占比最高,可达26%,微服务网关技术,使用springcloud-zuul的程序员占比最高。2、远程调用技术使用RPC框架的程序员中, 使用Dubbo的人数...
  • 面试刷题11-15

    2019-11-15 01:08:21
    高并发、多线程开发、分布式系统,异步消息和微服务框架 数据库有较强的设计能力,熟悉 Hadoop Spark 等大数据处理框架和平台 面试大概不到两小时…… 自我介绍,公司面试官介绍……略 MySQL有哪些锁? 乐观锁,...
  • 前言 过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流微服务...项目中的监控:那个监控指标常见的有哪些微服务涉及到的技
  • 前言 过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流微服务架构,而 ...1、java中有哪些基本类型? 2、java为什么能够跨平
  • 前言 过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流微服务架构,而 ...1、java中有哪些基本类型? 2、java为什么能够跨平
  • 过去十多年互联网产业的高速发展,在给社会带来深刻变革的同时,也催生了服务架构的演进:从传统的单体应用到面向服务的SOA,再到现今主流微服务架构,而 Apache Dubbo就是微服务领域中的先行者和佼佼者。...

空空如也

空空如也

1 2 3 4 5
收藏数 82
精华内容 32
关键字:

主流微服务框架有哪些