美文网首页
分析微服务会用到哪些技术

分析微服务会用到哪些技术

作者: 学习微站 | 来源:发表于2022-12-01 18:57 被阅读0次
Spring Cloud:http://projects.spring.io/spring-cloud(现在非常流行的微服务架构)

Dubbo:http://dubbo.io

Dropwizard:http://www.dropwizard.io (关注单个微服务的开发)

Consul、etcd&etc.(微服务的模块)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

微服务最低组件要求是:api网关、注册中心、提供者(provider)、消费者(consumer)

SpringCloud(也加上SpringBoot),没用dubbo

Dubbo有自己的一套技术
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

SpringCloud
Spring Cloud 基于 Spring Boot,为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理等。 Spring Boot 是 Spring 的一套快速配置脚手架,使用默认大于配置的理念,用于快速开发单个微服务。

基于 Spring Boot 云服务、分布式框架集合(众多)

1、服务治理,也称注册中心,用的是Nacos,以前市场上常有的是springcloud自身的Eureka

<!--注册中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--配置中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、容错机制 feigin+sentinel

微服务之间通过 Feign 进行通信处理业务。

Hystrix 负责处理服务超时熔断。
断路器——Netflix Hystrix(Sentinel)
Turbine 监控服务间的调用和熔断相关指标。
Integration/Stream : MQ接口绑定
Bus : 事件监听
微服务组件配置Bus、Config,带你了解微服务组件配置
Sleuth+Zipkin : 分布式链路追踪

3、服务网关
SpringCloud Gateway
gateway 后面我们可以在gateway输出下请求的uri

4、均衡负载
Ribbon
5、同步通信与异步通信
http

RocketMQ(mq各有优缺点)

<dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4

6、Git :用内部GitLab (市场上github,gitee)

7、SQL: MySQL、MongoDB
实时的排名参见 http//db-engines.com/en/ranking 网站

8、NoSQL: Redis、ES

<!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-integration</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>5.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
<dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-high-level-client</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.elasticsearch.client</groupId>
                    <artifactId>elasticsearch-rest-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

9、配置中心 nacos

<!--注册中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--配置中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

市场上springcloud Config

10、安全模块

<!--安全模块-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-security</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.security.oauth.boot</groupId>
            <artifactId>spring-security-oauth2-autoconfigure</artifactId>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

11、接口文档

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://maven.apache.org/POM/4.0.0"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>lego-common</artifactId>
        <groupId>com.lego</groupId>
        <version>1.0.7</version>
    </parent>
    <version>1.1.2</version>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>lego-common-swagger</artifactId>
    <packaging>jar</packaging>

    <description>接口文档</description>

    <properties>
        <knife4j-spring-ui.version>2.0.3</knife4j-spring-ui.version>
    </properties>


    <dependencies>
        <!--swagger 依赖-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${swagger.fox.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${swagger.fox.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>${knife4j-spring-ui.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-micro-spring-boot-starter</artifactId>
            <version>${knife4j-spring-ui.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
        </dependency>
    </dependencies>


</project>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61

12、mybatis-plus

<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-extension</artifactId>
			<version>3.0.5</version>
		</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5

本文使用 文章同步助手 同步

相关文章

  • 如何看股价高低

    前面我们聊到了技术分析背后的逻辑,今天我们会学习一些常用的技术分析指标 1有哪些常用的技术指标?要学习技术分析,少...

  • AVPlayer动画首页

    首先先看下动态效果,然后分析下这个过程都需要用到哪些技术以及都需要注意哪些问题。 分析当前效果:两个视图信息:1是...

  • dubbo源码分析 之 服务本地暴露

    更多技术交流 dubbo 在服务暴露发生了哪些事,今天我们就来分析一下整个服务暴露中的本地暴露。本地暴露需要服务提...

  • 移动互联网做精准广告投放可依赖的手段和难点有哪些?

    三大问题摆在眼前:有哪些手段和技术可以藉此实现精准广告投放?(包含现有的技术,或者可能将来会运用到的技术)利用这些...

  • Netty源码分析之Reactor线程模型详解

    在分析源码之前,我们先分析,哪些地方用到了EventLoop? NioServerSocketChannel的连接...

  • 大数据技术(必备)

    10个最热门的大数据技术,了解一下 哪些大数据技术是最受欢迎?哪些大数据技术潜力巨大? (一)预测分析 预测分析是...

  • 重新理解微服务之终究绕不过这4个坎?(观点探讨)

    写在前头 大家曾经有没有遇过日常技术交流的时候,会讨论某某技术之间的关系是什么,某些技术是否应该用到微服务。我相信...

  • 2018 iOS 面试法宝+绝密文件

    简单介绍项目情况 项目周期 实现了哪些功能(类似简历项目模块的项目职责) 用到了哪些技术点(类似简历项目模块的技术...

  • 2019-07-14

    “大数据建模与分析挖掘应用”实战研讨会的通知 一、研讨会简介 大数据建模与分析挖掘技术已经逐步地应用到新兴互联网企...

  • 用户画像构建方法:整体的用户画像系统架构

    用户画像构建需要用到哪些技术? 用到的主要技术包括:机器学习、数据挖掘、自然语言处理、图像处理、复杂网络等。 1....

网友评论

      本文标题:分析微服务会用到哪些技术

      本文链接:https://www.haomeiwen.com/subject/sowqtdtx.html