精华内容
下载资源
问答
  • micro 微服务框架+代码生成器提高开发效率 持续集成:代码提交后,自动发布测试环境 使用分布式调用链追踪 优先拆分简单服务,目前定先拆封面点赞模块,进行试水 使用 k8s 部署、服务伸缩、故障...
    a96b36001f59cf22d642e4342fc70c9c.png

    微服务是什么

    • 微服务是一种架构风格,也是一些协同工作小而自治的服务
    • 微服务的颗粒度比较小,一个大型软件应用由多个微服务组成
    • 每种服务只做一件事,一种松耦合能够被独立开发和部署的无状态服务

    我们怎么做的微服务

    • 使用 micro 微服务框架+代码生成器提高开发效率
    • 持续集成:代码提交后,自动发布测试环境
    • 使用分布式调用链追踪
    • 优先拆分简单服务,目前定先拆封面点赞模块,进行试水 使用 k8s 部署、服务伸缩、故障恢复
    • 使用 istio 控制、观测网络流量

    k8s 带来的价值

    • 自动化容器部署
    • 容器故障自动恢复
    • 自动化容器伸缩
    • 提供容器间的负载均衡(SVC)
    • 容器隔离可以更高效利用服务器资源
    • 以及配合其他组件实现网络和服务的治理

    gitops.任何能被描述的内容都必须存在 git 中

    • Dockerfile
    • Jenkinsfile
    • skaffold.yaml
    • k8s(helm file)

    微服务怎么跑脚本

    • 使用 micro localTask 执行任务
    • 脚本和服务代码在同一个 git 仓库
    • 使用 k8s 的 job 启动脚本

    分布式追踪

    • Jaeger vs Zipkin
    • All in>内存级,默认最近5万条
    • 1%采样率
    76ac86333cc00d49adda9d9f92e4e2d7.png
    4166b3a3545758187876ec43de69fdce.png

    micro 是什么

    • micro 是 go 微服务框架
    • micro 也是一个工具集
    • micro 还是一个生态系统

    micro 的优势

    • 开箱即用
    • 工具库完善,比如 micro api、web、health 健康检查
    • 还在快速发展中

    micro 的主要架构

    • 服务发现
    • 负载均衡
    • 消息编码
    • 异步消息

    使用 micro 开发服务

    21406daf83faa583f3e7632e3c35e866.png
    e8ff48113d0705fd2f648635247a9893.png

    定义客户端

    493c9dfb22fa53c71024c4566bc6d757.png
    20c9a1f75a88de9f51f2e4fb72d73439.png

    api gateway

    • 安装:go get -u github.com/micro/micro
    • 运行:micro api
    • rest api to grpc

    micro api 网关

    f0ce1d925871bd253c23301cf3776554.png
    de8726479a6d837f443c0ba83b4eb876.png
    17d65d0cb068750d2aa93ba747e47baa.png

    分享时间;1.2号21:30
    参与方式:http://qr.topscan.com/api.php?text=https://u.wechat.com/MF_42eNJTICHfySrXc_P0V0

    展开全文
  • PHP微服务框架即“Micro Service Framework For PHP”,是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是Swoole的工程级企业应用框架,经受了Camera360亿级用户高...

    92f3c182b3872c85a9a5ab1fa24bed04.gif

    PHP微服务框架即“Micro Service Framework For PHP”,是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是Swoole的工程级企业应用框架,经受了Camera360亿级用户高并发大流量的考验。php-msf由Camera360服务器团队主导研发,会持续更新与维护,也希望有更多优秀的Swoole应用实践开发者加入。php-msf核心设计思想是采用协程、异步、并行的创新技术手段提高系统的单机吞吐能力,降低整体服务器成本。

    主要特性:

    精简版的MVC框架
    IO密集性业务的单机处理能力提升5-10倍
    代码常驻内存
    支持对象池
    支持Redis连接池、MySQL连接池(异步与同步)
    内置Redis Proxy,支持分布式、master-slave集群(故障自动failover与recovery)
    内置MySQL Proxy,master-slave集群(读写分离、事务)
    支持异步、并行
    基于PHP Yield实现协程
    内建http/redis/mysql/mongodb/task等协程客户端
    纯异步的Http Server
    RPC Server/Client
    支持命令行模式
    支持独立进程的定时器
    支持独立配置进程
    支持sendfile静态文件(需配置root目录)

    环境要求

    Linux,FreeBSD,MacOS(有兼容问题)

    Linux内核版本2.3.32以上(支持epoll)

    PHP-7.0及以上版本(生产环境建议使用PHP-7.1)

    gcc-4.4以上版本

    swoole-1.9.15及以上版本(暂不支持Swoole-2.0)

    hiredis-0.13.3

    yac

    phpredis

    composer

    文档

    框架手册(Gitbook): PHP-MSF开发手册

    API Document(Rawgit): 类文档

    示例DEMO项目: PHP-MSF DEMO

    帮助完善文档: https://github.com/pinguo/php-msf-docs,请提交PR。

    交流与反馈

    群(QQ): 203307608

    快速起步

    $>php -r"copy('https://raw.githubusercontent.com/pinguo/php-msf-docker/master/installer.php', 'installer.php');include('installer.php');"&&source~/.bashrc

    installer.php会检查运行环境,根据你的自定义配置,自动创建项目模板,composer安装依赖,启动服务。如果http://cdn.rawgit.com无法访问,可以直接克隆或者下载php-msf-docker,提取installer.php,然后直接运行php installer.php

    如果一切顺利,运行到最后你将看到如下的输出:

    [2017-09-06 16:08:34] Run composer install success[2017-09-06 16:08:34] Congratulations, all are installed successfully![2017-09-06 16:08:34] You can, visit http://127.0.0.1:8990/Welcomefortest_______ ____________ / /_ ____ ____ ___ _____/ __/___/ __/__/________/ __`__/___/ /___/ /_/ / / / / /_/ /_____/ / / / / (__ ) __/_/ .___/_/ /_/ .___/ /_/ /_/ /_/____/_//_/ /_/ Camera360 Open Source TM[2017-09-06 16:08:34] Swoole Version: 1.9.18[2017-09-06 16:08:34] PHP Version: 7.1.8[2017-09-06 16:08:34] Application ENV: docker[2017-09-06 16:08:34] Listen Addr: 0.0.0.0[2017-09-06 16:08:34] Listen Port: 8990

    访问测试:

    $>curl http://127.0.0.1:8990/Welcomehello world!

    注意端口,如果你不是8990,你需要修改,然后访问测试。

    标准应用结构

    ├── app // PHP业务代码

    │ ├── AppServer.php // 应用server类,可根据需求自定义

    │ ├── Controllers // 控制器类目录

    │ ├── Lib // 特殊逻辑处理类目录

    │ ├── Models // Model类目录

    │ ├── Route // 特殊路由规则类目录

    │ ├── Tasks // Task类目录

    │ └── Views // 视图文件目录

    ├── build.sh // 构建脚本(拉取docker镜像,启动容器)

    ├── checkstyle.sh // 代码检查脚本

    ├── composer.json // composer包依赖配置文件

    ├── config // 配置目录

    ├── server.php // server启动脚本

    ├── console.php // 命令行脚本

    ├── test // 单元测试目录

    上述为基于php-msf的标准应用结构,一键安装程序installer.php会自动生成目录,用户可以根据需求创建一些自定义目录,只要符合psr4标准即可自动加载。

    服务启动

    调试模式

    $>./server.php start

    Daemon模式

    $>./server.php start -d

    停止服务

    $>./server.php stop

    重启服务

    $>./server.php restart

    Docker

    我们制作了Docker镜像,方便Docker用户快速的安装环境,运行PHP-MSF DEMO工程。另外期望在开发环境修改代码实时预览效果,建议使用Docker for Mac/Windows桌面版。

    如果是升级Docker,它会自动迁移原有的镜像和容器,请耐心等待,千万不能中途kill掉Docker进程,否则再想迁移就难了。

    Docker Registry(阿里云):

    公网地址: docker pull http://registry.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker:latest

    经典内网: docker pull http://registry-internal.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker:latest

    VPC网络: docker pull http://registry-vpc.cn-hangzhou.aliyuncs.com/pinguo-ops/php-msf-docker:latest

    DockerHub(国外): docker pull pinguoops/php-msf-docker

    框架定位

    我们专注打造稳定高性能纯异步基于HTTP的微服务框架,作为nginx+php-fpm的替代技术栈实现架构的微服务化;而Tcp/WebSocket Server将作为插件的形势支持,或者作为其他独立的开源项目。

    对于小型团队或者业务系统我们建议还是采用传统的nginx+php-fpm技术栈,对于成本和性能来说没有瓶颈,也就完全没有必要引入全新的技术栈。

    对于大中型团队或者业务系统,处在服务治理或者服务化演进的重要阶段,php-msf是可选方案之一。

    对于庞大的PHP应用集群,想要大幅节约服务器成本,提升服务性能,php-msf是可选方案之一。

    对于聚合服务,比如大型的网站首页,想要通过服务器端聚合内容整合数据,php-msf是可选方案之一。

    手工安装

    推荐安装方式,通过编辑项目composer.json加入依赖pinguo/php-msf

    {"require": {"pinguo/php-msf":">=3.0.0"},"minimum-stability":"dev"}

    "minimum-stability": "dev"这个配置选项必须加上,因为日志组件依赖"monolog/monolog": "2.0.x-dev",并且monolog/monolog无2.0的release包,不过我们在生产环境已经验证其稳定性。

    项目原则

    稳定

    php-msf经受了Camera360社区服务大流量、高并发的洗礼,稳定性得到充分验证。稳定性是我们花了大量时间、精力去解决的最重要问题,是三大原则的最重要原则。

    高性能

    IO密集性业务的单机处理能力提升5-10倍,这是生产环境中得出的真实数据,如Camera360社区某聚合服务在流量高峰需要40台服务器抗住流量,而采用php-msf重构之后只需要4台相同配置的服务器就可以抗住所有流量。

    简单

    由于Swoole复杂的进程模型,并且有同步阻塞和异步非阻塞之分,所以在运行相同代码逻辑时,可能在调用方式、传递参数都不一致,从而直线拉高了学习成本,我们为了屏蔽低层的差异,做了大量的工作,实现和传统MVC框架的唯一区别在于添加“yield”关键字。我们参考了Yii2框架的部分代码实践,我们期望无缝的从Yii2开发切换过来。

    上述三大原则,是我们在新增特性、功能实现时,投票或者合并代码的依据,任何影响这些原则的PR也将会被拒绝。

    关于协程

    目前社区有几个PHP开源项目支持协程,它们大多采用Generator+Yield来实现,但是实现的细微差别会导致性能相差甚远,我们应该认识到协程能够以同步的代码书写方式而运行异步逻辑,故协程调度器的性能一定要足够的高,php-msf的协程调度性能是原生异步回调方式的80%,也就是说某个API采用原生异步回调写法QPS为10000,通过php-msf协程调度器调度QPS为8000。

    为什么是微服务框架?

    目前php-msf还在起步阶段,我们花了大量的时间和精力解决稳定性、高性能、内存问题,因为我们认为“基石”是“万丈高楼”的最基本的保障,只有基础打得牢,才能将“大楼”建设得“更高”。3.0版本是我们开源的起始版本,是我们迈出的重要一步,接下来我们重点会是分布式微服务框架的打磨。

    另外,由于基于PHP常驻进程,并直接解析HTTP或者TCP请求,这是服务化最重要的支撑,基于此我们可以做很多原来不敢去实现的想法,总之想像空间很大。

    感谢

    展开全文
  • 集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的微服务开发框架Github源代码地址https://github.com/PeyShine/Demo.MicroServerApollo配置中心Apollo(阿波罗)是携程框架部门...

    集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的微服务开发框架

    Github源代码地址

    https://github.com/PeyShine/Demo.MicroServer

    Apollo配置中心

    Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 由于各个项目配置都需要读取基础的配置信息,这边在内网的Centos(101)上部署了Apollo的环境,并为项目添加了一些基础配置信息,配置如图

    c26456e0952e8abb27609e0d5f75e9d7.png

    Consul

    Consul是一种服务网格解决方案,提供具有服务发现,健康检查,Key/Value存储,多数据中心等功能。 在内网101启动Consul服务,这里为了测试,直接在本地将用户服务实例分别在三个端口启动起来,实际生产中这些服务可能部署在不同的机房不同的机器,他们之间组成一个服务的集群,服务提供一个心跳检测的方法,用于consul定时检测服务实例是否健康,启动时在consul中进行一次注册,这个就是经常说的‘服务注册与发现’中的服务注册,三个服务实例截图如下

    43c4f15a84c8ced82cd58cf91e3dbdab.png


    注册完成之后打开consul的ui界面可以看到,列表中存在多出一个用户服务的集群组名称:Demo.MicroServer.UserService,如图

    856a51aa92ab79487dd060e025b010b5.png


    点击Demo.MicroServer.UserService进去之后如图,显示三个服务实例的信息

    56c7cb6ddda9453d2d2b4c2aa314bbaa.png

    Swagger

    Swagger提供了一个可视化的UI页面展示描述文件。接口的调用方、测试等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求。当然Swagger的功能远不止这些,项目中已经在服务实例中接入swagger,如图

    7413de641b4bc067174fd0240f5a4198.png

    4bc1b4e0a9130ec09116b4732a070bda.png

    f73dc9095771b8b3f6d741e4f0025388.png


    因为三个服务实例是同样一份代码,所以可以看到打开三个端口的swagger地址,看到的接口信息完全一致。

    Ocelot 网关

    Ocelot是一个.NET API网关,它提供了路由,请求聚合,服务发现、鉴权、限流熔断、负载均衡器等一系列强大的功能,而这些功能只需要在配置文件中完成即可使用. 比如上面的swagger,我们在三个服务实例的端口打开都可以看到api相关文档信息,但是我们能否在api网关中直接集成呢,答案是肯定的,这依赖于ocelot强大的路由功能,如图,简单的几行配置,我们便将swagger配置到了网关当中

    4591fc9f6d0068a3f52bc5a8e2c39f6b.png

    网关内置的负载均衡器的使用,如图我在网关中对同一个接口进行了三次调用,可以看到结果分别来自三个不同的端口中,因为我选用了负载均衡器中的轮询策略

    add8761f88044c92a16808c11dfe9001.png

    49792c8a7ddd91f11a2165807ab733ad.png

    80525451549be561401a97eb47879a12.png

    限流策略,当我们配置启用限流策略,并配置单位时间内访问次数限制时,然后快速刷新接口,超过设置的次数限制,那么可以看到按照错误提示出现

    4f9fd8b114455266fd14d4f14ba57c40.png

    Expectationless

    Exceptionless 是一个开源的实时的日志收集框架,相信在微服务架构或者分布式应用应该都离不开一个统一的日志收集功能,Exceptionless就是就很好的提供了服务,相信有很多开发者都在使用ELK来完成日志的收集,这里说下Exceptionless底层也是基于ElasticSearch, Exceptionless提供了两种服务方式,一种是在线的,就是直接在官网注册账户,新建项目,官方会给每个项目分配一个appid,将id配置到项目中即可使用,当然,在线使用是有限制的,对日志收集数量(3000)还有存储时间天数(3天)都有限制,测试或者临时使用应该都没问题, 考虑到后面项目会在生产环境中使用,所以我在内网centos上搭建了一个本地化的Exceptionless环境来收集日志。 我这里调用一下swagger中写的一个异常收集测试的接口

    c8b5bd53d9a07c9ed51f51fec40f4c1b.png


    发送完成后,到Exceptionless的ui界面来查看收集情况

    3b69c90ca4867501042a85d9e899f8be.png


    可以看到界面多出一条发送测试的数据记录

    IdentityServer4统一鉴权中心

    之所有将认证授权放在最后,因为没有这个前面的流程也是可以跑通的,测试的时候如果觉得这部分测试麻烦可以先注释掉,流程跑通后再来集成这个,这个东西的用法还是很多的,这里将IdentityServer4集成到api 网关当中来完成统一的认证鉴权。 在identityserver4项目中分别实现以下几个类

    b911668173e38302d2f0b2cca581b842.png


    分类来完全几个东西:定义api资源,客户端访问资源范围,校验账户密码过程和数据返回格式 然后在api网关中项目中统一认证,这里需要说明下为什么要将IdentityServer4集成到网关当中而不是在每个服务实例单独去认证,想象一下,如果在一个大型项目中,不同的小组维护着不同的服务实例,势必每个小组都要在各自的代码中完成一套认证逻辑,确实没有必要, 而Ocelot天然对IdentityServer4进行了很好的集成,我们只需要在网关中统一添加认证代码即可,而各个微服务实例只需要关心各自的业务逻辑代码即可。 这个也列举一下使用过程,在客户端没有token时通过网关对api资源进行访问,可以看到如图的返回状态码:401

    8fec49dcd7a8ef3adb46e53e95e06a3d.png


    然后我们到IdentityServer4中请求一个token

    da34bbc49c748d3adcd2a0094d35a0be.png


    拿到token后,带着token再通过网关请求相同的api资源,可以看到正确拿到想要的资源。

    d074253ca23e39722794bc7631946895.png

    特别说明

    上面的所有说明,在代码中均有体现,并开放出来,但是对于一个完整的微服务架构来说还是太简略,只是做了简单的说明,后续会具体拆开来分享一下。 至于为什么要这么做和工具的安装,博客园等地方有很多这方面的对比和教程可以参考,这里着重关注微服务架构的实现
    欢迎大家提出宝贵意见,当然如果对你有帮助也欢迎star.
    随时随地查阅可关注公众号

    3474590e3d871c7c75df9ca95cc3acd1.png

    后续更新

    后续可能还会加入CAP和APM

    展开全文
  • 开发框架目前PHP相关的微服务框架不多,基本上都是基于Swoole开发, 下面介绍几种网络上信息相对较多的几款PHP微服务开发框架。腾讯TarsTars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务...

    开发框架

    目前PHP相关的微服务框架不多,基本上都是基于Swoole开发, 下面介绍几种网络上信息相对较多的几款PHP微服务开发框架。

    腾讯Tars

    Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用。

    • 官网:https://tars.tencent.com/base/tars_index/cn/index.html
    • 项目地址:https://gitee.com/TarsCloud/TarsPHP
    • 产品介绍:https://www.oschina.net/news/108987/tars-php-the-road

    PHP-msf

    PHP-msf是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,是Swoole的工程级企业应用框架,经受了Camera360自拍相机亿级用户高并发大流量的考验。

    • 产品说明:https://www.oschina.net/p/php-msf
    • 项目地址:https://github.com/pinguo/php-msf-docs

    Swoft

    Swoft是基于swoole协程2.x的高性能PHP微服务框架,内置http服务器。框架全协程实现,性能优于传统的php-fpm模式。

    • 官网:https://www.swoft.org/
    • 文档:https://www.swoft.org/docs
    • 项目地址:https://github.com/swoft-cloud/swoft

    Hyperf

    Hyperf是基于 Swoole 4.4+ 实现的高性能、高灵活性的PHP协程框架,内置协程服务器及大量常用的组件,性能较传统基于PHP-FPM的框架有质的提升。

    框架组件库除了常见的协程版的 MySQL 客户端、Redis 客户端,还提供了协程版的 Eloquent ORM、WebSocket 服务端及客户端、JSON RPC 服务端及客户端、GRPC 服务端及客户端、Zipkin/Jaeger (OpenTracing) 客户端、Guzzle HTTP 客户端、Elasticsearch 客户端、Consul 客户端、ETCD 客户端、AMQP 组件、Apollo 配置中心、阿里云 ACM 应用配置管理、ETCD 配置中心、基于令牌桶算法的限流器、通用连接池、熔断器、Swagger 文档生成、Swoole Tracker、Blade 和 Smarty 视图引擎、Snowflake 全局ID生成器 等组件,省去了自己实现对应协程版本的麻烦。

    • 官网:https://www.hyperf.io/
    • 文档:https://doc.hyperf.io
    • 项目地址:https://github.com/hyperf-cloud/hyperf

    开发体系

    最后,总结附一张PHP微服务开发体系思维导图,因为作者也在学习微服务架构,所以不是很全面,仅供参考:

    0a0ef754170a4cc4f8004438c7550eda.png
    展开全文
  • Golang是一门快速增长的语言,专为构建...本文将从流行度、社区支持及内建功能等角度对六款知名Go语言Web框架对比六款Web框架Beego 面向Go编程语言的开源高性能web框架https://github.com/astaxie/beegohttps://be...
  • golang圈子不大,微服务框架框架屈指可数:除了go-micro、go-kit,几乎没有其他选择。go-zero为此提供第三个可能。 go-micro 对webapi支持并不友好,需要运行micro指令,难以定制 创业产品需要一款支持业务成长的框架 ...
  • go-sky是一个Golang微服务框架,集成了一些非常流行的软件包和工具。 如下: github.com/go-kit/kit github.com/uber-go/zap gopkg.in/natefinch/lumberjack.v2 github.com/opentracing/opentracing-go github....
  • 谈起分布式的RPC框架比较出名的是阿里巴巴的dubbo,包括由当当网维护的dubbox。不知道dubbo在阿里的内部竞争中败给了HSF,还是阿里有意将其闭源了,官方的代码使用的spring还停留在2.5.6.SEC03的版本,dubbox的...
  • golang圈子不大,微服务框架框架屈指可数:除了go-micro、go-kit,几乎没有其他选择。go-zero为此提供第三个可能。go-micro 对webapi支持并不友好,需要运行micro指令,难以定制 创业产品需要一款支持...
  • 当项目逐渐变大之后,服务增多,开发人员增加,单纯的使用go来写服务会遇到风格不统一,...直到遇到老这货 goa,另外一个go的微服务框架。具体介绍看这篇,还有官网。   这货实现了框架的代码自动生成(自动生成的代
  • 服务之间的映射,rpc类型和api类型比较相似,可以参考apihanlder相关代码,rpchander代码包为`handlerrpc· 下载 handlerrpc.zip 并解压到 %GOPATH%/techidea8.com/microapp/doc/ 下,解压后目录如下所示 E:\winlion...
  • 但是这种方式,入侵太强,需要执行对应的申明调用, 所以对GOA框架的自动生成非常感兴趣,于是仔细研究了一下,发现用的比较巧妙, 这里先卖个关子,先看看生成的代码目录结构。   这里使用adder的desgin文件来...
  • golang 中国gocn golang Applicable to all database connection pools xorm是一个简单而强大的Go语言ORM库,通过它可以使数据库操作非常简便--文档 Lightweight and fast SQL builder for Go and XORM Go 语言...
  • 今天的演讲主题是:golang 微服务架构与治理实战。次微服务架构目前已经成为主流的互联网技术架构方案,深知科技在创业初始阶段就采用了微服务架构来开发和部署线上服务,经过一年多的实战演变,目前我们十几人的...
  • Golang微服务开发实践

    千次阅读 2019-06-07 08:12:29
    微服务概念学习:可参考 Nginx 的微服务文章 微服务最佳实践:可参考 微服务最佳实践 demo 简介 服务: consignment-service(货运服务) user-service(用户服务) log-service (日志服务) vessel-service(货船...
  • 参考资料: GoLang书籍: https://github.com/dariubs/GoBooksGo名库: https://github.com/Unknwon/go-rock-libraries-showcasesGoLang中国: http://golangtc.com/Spring Boot实现微服务: ...
  • Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点。其实对于golang而言,web框架的依赖要远比Python,Java之类的要小。自身的net/http足够简单,性能也非常不错。...
  • 译文链接:wuYin/blog原文链接:ewanvalentine.io,翻译已获作者 Ewan Valentine 授权。...在上一篇中,我们使用 gRPC 初步实现了我们的微服务,本节将 Docker 化该微服务并引入 go-micro 框架代替 gRPC...
  • 译文链接:wuYin/blog原文链接:ewanvalentine...在上节中我们使用 go-micro 搭建了微服务的事件驱动架构。本节将揭晓从 web 客户端的角度出发如何与微服务进行调用交互。 微服务与 web 端交互 参考 go-micro 文档,...
  • 译文链接:wuYin/blog原文链接:ewanvalentine.io,翻译已...在上节中,我们使用 go-micro 重新实现了微服务并进行了 Docker 化,但是每个微服务都要单独维护自己的 Makefile 未免过于繁琐。本节将学习 docker-compo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,433
精华内容 973
关键字:

golang微服务框架对比