V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fan88
V2EX  ›  PHP

想用 PHP 做微服务开发,有偿求指导

  •  
  •   fan88 · 17 小时 38 分钟前 · 1425 次点击

    目前技术栈是 thinkphp8 + swoole ,现在客户有要求不准我们做单体应用,必须要做微服务开发。 对微服务的开发没什么经验,想咨询有经验的师傅指指门道,有偿 同时,我也考虑部分的服务进行外包,欢迎有经验的师傅来联系

    24 条回复    2025-03-06 15:30:16 +08:00
    hahasong
        1
    hahasong  
       16 小时 14 分钟前
    甲方想拆分到什么程度,费用什么范围,细说
    kk2syc
        2
    kk2syc  
       15 小时 43 分钟前
    照样单体开发,但是加一个 init_args ,需要什么服务启动什么服务,都 php 了,还不如单体堆服务器配置
    sagaxu
        3
    sagaxu  
       15 小时 20 分钟前   ❤️ 1
    既然有此疑问,k8s 那套正规军打法就不太适合你们团队了。

    若项目服务端开发人数 10 人以下,考虑极简版微服务:单体拆成 3 到 5 个小服务,以 HTTP 调用之,服务地址全用 127.0.0.1:XX 端口,本机 nginx 配置负责转发到真正的小服务的地址去,failover 和 load balace 都由 nginx 完成,那个 nginx 相当于进程外的 sidecar 。

    独立部署与迭代 ✅
    灵活扩展与资源优化 ✅
    技术栈多样性 ✅
    高容错性与可靠性 ✅
    模块化与职责分离 ✅
    云原生适配 ❌

    微服务的大部分优点都得到了。
    keller
        4
    keller  
       8 小时 52 分钟前
    看起来你的客户应该也不是很懂,你可以试试:
    单体开发、群集部署、前端用负载均衡对不同的服务做流量转发。
    harryWebb
        5
    harryWebb  
       8 小时 37 分钟前
    你多搭几个服务,然后互相之前用接口传输就行了

    我觉得你客户估计是脑子也不太好,php 搞啥微服务,更何况,小公司用啥微服务,有那闲工夫,不如一把梭哈
    yc8332
        6
    yc8332  
       8 小时 33 分钟前
    那还不简单。。加个服务发现功能。。。把原来的各个模块单独部署就是微服务了。。。
    sciel
        7
    sciel  
       8 小时 15 分钟前 via iPhone
    搞微服务不如把你的服务层做成 无状态的 http 接口 在 k8s 里面开多个节点

    推荐一个框架 goframe 这里面有 grpc 微服务开发,不过是 go 语言。 该框架的大佬之前就是搞 php 的。 可以看看
    chaodada
        8
    chaodada  
       8 小时 14 分钟前   ❤️ 1
    用户注册登陆 127.0.0.1:8001
    支付 127.0.0.1:8002
    商品 127.0.0.1:8003
    订单 127.0.0.1:8004
    对内直接内网 http 调用接口
    对外 nginx 转发
    yyttrr
        9
    yyttrr  
       8 小时 13 分钟前
    之前搞过一个脚本,开发时候仓库是分开的,但是部署的时候会把好几个 php 项目聚合到一个 pod 里面运行,不知道这样算不算微服务
    colinlikepotatos
        10
    colinlikepotatos  
       7 小时 54 分钟前
    我现在用的 php 是这么设计的,所有功能写在一起,host1,host2,host3,host4 都是一样的程序可以实现全部功能,随机请求一个,核心数据,异步任务共享,可以根据服务器负载调用别的服务器运行,可水平扩容,集群,业务不间断,自动恢复,齐活了。你敢说他不是微服务嘛😏你也可以都写一起,但是调用另一个服务器的这套代码。
    Qjues
        11
    Qjues  
       7 小时 17 分钟前
    微服务关键:
    1. 实现服务拆分部署
    2. 解决服务之间调用
    大型微服务就得考虑服务治理, 异构架构等. 不过客户提这种要求得看报价, 高的话什么 k8s, prometheus, sls 等全上, 肯定拿下
    lasuar
        12
    lasuar  
       7 小时 13 分钟前
    既然不熟悉,还要自己做的话,就按责任拆分服务,引入服务发现组件就行了。部署的话不要用 k8s 了,那对你们来说太重了,用 pm2 就行,也能多实例部署。

    pm2 笔记: https://github.com/chaseSpace/go-practice/blob/main/markdown/use_pm2.md
    vip5000521
        13
    vip5000521  
       6 小时 49 分钟前
    都已经用了 thinkphp8 这东西了还微服务啥了...说的好听.直接一把梭了就算了....
    BeforeTooLate
        14
    BeforeTooLate  
       6 小时 39 分钟前
    PHP 做的话参考看看: https://hyperf.wiki/3.1/#/zh-cn/microservice
    其实都微服务了建议直接换 go 吧
    coderzhangsan
        15
    coderzhangsan  
       6 小时 33 分钟前
    都用 php 了搞什么微服务,更何况最近都在拆微服务转单体,明显客户啥也不懂,跟着风就来了,就跟现在 AI 一样,很多老板都跟打了鸡血一样,all in ai 。

    你随便搞搞得了,单体搞集群分布式,就跟他们说上微服务了,实在不行,就拆几个次要模块出去,http 通信,只要产品稳定能赚钱,舞台怎么装潢都不重要,关键能让甲方表演起来舒服些。
    shea
        16
    shea  
       6 小时 31 分钟前
    我们之前是用的 hyperf 框架做的微服务
    sundev
        17
    sundev  
       6 小时 4 分钟前
    PHP 的微服务之前探索过。
    目前 php 的微服务生态差 go 太远了,很多东西要自己写,不建议用 php 搞
    Nick66
        18
    Nick66  
       5 小时 58 分钟前
    有微服务技术中台 3 年经验,欢迎咨询 512817655 曾就职于 KK 集团 用的的 hyperf 框架
    ifconfig
        19
    ifconfig  
       3 小时 34 分钟前
    ifconfig
        20
    ifconfig  
       3 小时 34 分钟前
    很多年前写的文章了,基于 hyperf 的,可以参考下
    pckillers
        21
    pckillers  
       3 小时 16 分钟前
    都 thinkphp 了,别折腾了。 最多业务多拆分成多套系统。每套系统单独起 php 容器进 k8s 拉倒
    InDom
        22
    InDom  
       3 小时 12 分钟前
    什么都不用改, 端口同时监听多个, 但是 内部调用跳转一会用这个端口,一会用另一个端口就好了.
    jhdxr
        23
    jhdxr  
       2 小时 16 分钟前
    @sundev 都微服务了谁还绑死在一个语言上啊。
    ninjashixuan
        24
    ninjashixuan  
       2 小时 0 分钟前
    先看看有多少预算吧,数据库起码独立分开部署好几个吧,不然硬上微服务有什么用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5140 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 09:31 · PVG 17:31 · LAX 01:31 · JFK 04:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.