2017 © Pedro Peláez
 

library single-service-server

single service framework, base on swoole

image

steady-as-hill/single-service-server

single service framework, base on swoole

  • Tuesday, July 10, 2018
  • by waynewn
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

单服务框架

说明(特色、局限性)

  • 这个框架是用来实现内部接口服务的,不是做网站的(不考虑SEO,视图、丰富路由协议等)
  • http协议,如果使用rawdata提交参数,只支持json格式
  • 返回值固定json格式,需自行修改代码支持其他情况(没预留)
  • 配置获取支持两种方式:本地路径或远程ini服务。
  • 每个服务器都内置了个ServiceName用于运维管理,比如启动停止服务,比如重新获取刷新配置等。该ServiceName名为SteadyAsHill(虽然占用,但限制了只能127.0.0.1访问)。

微服务重在微字,要拆解。它不是万能的方案,特大特长的,就需要考虑其他的框架了,甚至换语言, (*1)

名词解释

  • uri中 /servicename/controllername/actionname, 每个servicename对应启动一个Server
  • 关于模块名和服务名:物理磁盘路径中的名字是模块名,url中的名字是服务名,服务名可以在配置文件中更改,且可以多个(比如由于版本升级,需要servicename有所区别,但又需要兼顾旧版一段时间)

参看

编写hello world, (*2)

框架代码说明, (*3)

运维管理说明, (*4)

其他

关于库文件加载,基本分三种情况:, (*5)

  1. 模块专属类库(library目录),在run.php的入口文件通过设置->initAutloadLocalLibrary(true),可以在启动时全部预先加载,此时就不需要相应的autoload函数了
  2. 对于遵循psr-4规范的类库目录,可以在run.php的入口开头加入相关autoload,或通过server->initIncludePath()指定尝试搜索目录(仅支持一个目录)
  3. 其他像composer这种外部类库,在run.php的入口开头加入相关autoload

ServiceSample 下是几个小的Service骨架, (*6)

能用,但不一定合适你的情况能直接用,都是些很简单示例性的小服务, (*7)

使用前修改:, (*8)

  1. 合并所有_config目录下的配置
  2. 确认或修改bin/run.php 里 SingleService/Server.php 的路径
  3. 确认或修改bin/run.php 里 initServiceModule 那里模块路径
  4. 确认或修改bin/start.sh 里 配置文件获取方式
  • Email 发送邮件的
  • HelloWorld 演示测试用的
  • Ini 配置管理

The Versions

10/07 2018

dev-master

9999999-dev

single service framework, base on swoole

  Sources   Download

MIT

service micro-service

27/06 2018

1.0

1.0.0.0

single service framework, base on swoole

  Sources   Download

MIT

service