为了账号安全,请及时绑定邮箱和手机立即绑定

『高级篇』docker之APIGateway(17)

标签:
Docker

原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
原文链接地址:『高级篇』docker之APIGateway(17)

这次说最后一个模块APIGateway,他的功能就是将我们客户端的请求统一的转发到用户和课程的EdgeService上面,ApiGetway我们使用springClud来实现。源码:https://github.com/limingios/msA-docker

webp

使用springClud做路由转发功能

  • 新建项目


    webp

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.3.RELEASE</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.idig8</groupId>
    <artifactId>api-gateway-zuul</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
            <version>1.3.5.RELEASE</version>
        </dependency>

    </dependencies></project>
server.port=8080zuul.routes.course.path=/course/**
zuul.routes.course.url=http://127.0.0.1:8081/course/zuul.routes.user.path=/user/**
zuul.routes.user.url=http://127.0.0.1:8082/user/
package com.idig8.zuul;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.zuul.EnableZuulProxy;/**
 * Created by liming
 */@SpringBootApplication@EnableZuulProxypublic class ServiceApplication {    public static void main(String args[]) {
        SpringApplication.run(ServiceApplication.class, args);
    }
}

webp

梳理思路

所有的业务开发完毕,zuul 就是可以帮助我们做路由和转发的工作。所有的请求帮你做中转。虽然业务非常简单,但是框架都能实现。业务也不是这次学习微服务的重点。在整个开发过程中主要想让各位老铁体会到微服务,不同的RPC的通信方式,没有使用过dubbo和thrift的可以了解下如何的使用。还搞了夸语言的业务通信,用python写了一个message消息服务,用java做客户端调用python,这里面的java模块我们使用的springboot,来进入一个切入点,能感受到开发和配置模式的统一,最后我们使用zuul作为服务网关,完成了服务路由,可以注意到所有服务的开发都是使用了相对简单的模型和功能,并没有大而全的角色存在,因为这次主要就是说的针对不太了解微服务的老铁,只为你们打开一个微服务的大门。

PS:就像跟陌生人交朋友,不可能上来直接详细的自我介绍,一般都是先聊点其他的,或者从大家都感兴趣的一个话题作为切入点,一点点增加彼此的了解,其实学习也是一样的,一个新的功能一定会有新的功能和特性,我们必须从一个点入手,先用起来后,在一点点的了解,就像这个zuul,只用到他的服务路由,下次咱们就通过这些微服务为基础进行docker话,让老铁知道一个非docker的项目如何运行在一个docker上面。需要关心的点是什么上面。然后我们在本地吧这些服务都运行起来。最后我们把他交给服务编排框架,看它是怎么调度管理容器的。



作者:IT人故事会
链接:https://www.jianshu.com/p/5a9f568c2cf5


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消