乐趣区

关于php:开始Hpyerf编写bug

公司倒退到肯定阶段,后期疾速迭代的老业务代码,已无奈撑持扩大需要,线上宕机事变频发。

于是,把公司倒退两年多的新业务线,跟老业务线合并,都是主营业务,只是之前争取转型,然而保护老本太大。又加上之前新业务一开始用 php 开发的,起初转 java 语言,再次拖慢了新业务倒退。

交融为一个平台,天然想把人员和零碎稳定性做一下衡量,最初因为一个老业务宕机事变,选定了应用微服务架构。

微服务:
依据 Robert C. Martin 的一个对 繁多职责准则 (Single Responsibility Principle) 的阐述:“把因为雷同起因而变动的货色聚合到一起,把因为不同起因而变动的货色拆散开来。”该阐述很好地强调了内聚性这一概念。

没有银弹 No Silver Bullet
尽管 微服务架构 (Microservice) 益处泛滥,但 微服务不是银弹!!!,您须要面对所有分布式系统都须要面对的复杂性,你可能须要在部署、测试和监控上做很多的工作,在服务间调用、服务的可靠性上做很多工作,甚至您还须要解决相似于 分布式事务 或者与 CAP 相干的问题。只管 Hyperf 曾经为您解决了许多的问题,但在施行 微服务架构(Microservice) 之前您的团队必须储备足够的分布式系统相干的常识体系,以面对很多您在 单体架构(Monolithic architecture) 下可能没有面临过甚至没有思考过的问题。

微服务

咱们的故事,就从这里开始了~

hyperf

一个高性能、高灵活性的渐进式 PHP 协程框架,内置协程服务器及大量罕用的组件。。。

本地装置运行环境

windows7 专属下载地址 window10+ 都能够间接去官网下载 mac 也能够依据版本去官网下载。

  • 装置 docker

    • 下载 docker:这里以 win7 为例,点击下载 DockerToolbox-18.03.0-ce.exe
    • 启动:Docker Quickstart Terminal
    • 过程须要下载:boot2docker.iso,如果比较慢,你能够用 github 减速助力一把,放在本地窗口中提醒的门路下,如我本地:C:\Users\Administrator.docker\machine\cache
    • 启动胜利
  • 拉取镜像(非必须)

    • 上一步启动胜利,就能够开心的应用了。
    • docker pull hyperf/hyperf
    • 下载实现后
    • hyperf/hyperf-docker 我的项目内曾经为您筹备好了各种版本的 Dockerfile,或间接基于曾经构建好的 hyperf/hyperf 镜像来运行。
  • 启动服务(本地开发)

    • 本地共享目录默认 /d/Users,须要放到我这里的 /d/tools,须要操作虚拟机共享目录
    • 拉取框架示例模板(这个命令不能复制到 Docker Quickstart Terminal?):
    docker run --name hyperf \
    -v /d/tools/hyperf:/data/project \
    -p 9501:9501 -it \
    --privileged -u root \
    --entrypoint /bin/sh \
    hyperf/hyperf:7.4-alpine-v3.11-swoole
    • 拉取模板

      • composer config -g repo.packagist composer https://mirrors.aliyun.com/composer
      • cd /data/project
      • composer create-project hyperf/hyperf-skeleton
      • 抉择依赖能够都选 n,这样避免一开始我的项目短少启动不了。
    • 启动我的项目

      • cd hyperf-skeleton
      • php bin/hyperf.php start
    • 映射一下端口:
    • 再拜访一下本地浏览器:

IDE 编辑器

因为目前业界做的比拟好的是 PHPstorm,然而国内破解学习泛滥,不再赘述

老规矩:Hello World

退出移动版