steady-as-hill / single-service-server
single service framework, base on swoole
1.0
2018-06-27 08:58 UTC
This package is not auto-updated.
Last update: 2024-10-04 20:56:32 UTC
README
说明(特色、局限性)
- 这个框架是用来实现内部接口服务的,不是做网站的(不考虑SEO,视图、丰富路由协议等)
- http协议,如果使用rawdata提交参数,只支持json格式
- 返回值固定json格式,需自行修改代码支持其他情况(没预留)
- 配置获取支持两种方式:本地路径或远程ini服务。
- 每个服务器都内置了个ServiceName用于运维管理,比如启动停止服务,比如重新获取刷新配置等。该ServiceName名为SteadyAsHill(虽然占用,但限制了只能127.0.0.1访问)。
微服务重在微字,要拆解。它不是万能的方案,特大特长的,就需要考虑其他的框架了,甚至换语言
名词解释
- uri中 /servicename/controllername/actionname, 每个servicename对应启动一个Server
- 关于模块名和服务名:物理磁盘路径中的名字是模块名,url中的名字是服务名,服务名可以在配置文件中更改,且可以多个(比如由于版本升级,需要servicename有所区别,但又需要兼顾旧版一段时间)
参看
其他
关于库文件加载,基本分三种情况:
- 模块专属类库(library目录),在run.php的入口文件通过设置->initAutloadLocalLibrary(true),可以在启动时全部预先加载,此时就不需要相应的autoload函数了
- 对于遵循psr-4规范的类库目录,可以在run.php的入口开头加入相关autoload,或通过server->initIncludePath()指定尝试搜索目录(仅支持一个目录)
- 其他像composer这种外部类库,在run.php的入口开头加入相关autoload
ServiceSample 下是几个小的Service骨架
能用,但不一定合适你的情况能直接用,都是些很简单示例性的小服务
使用前修改:
- 合并所有_config目录下的配置
- 确认或修改bin/run.php 里 SingleService/Server.php 的路径
- 确认或修改bin/run.php 里 initServiceModule 那里模块路径
- 确认或修改bin/start.sh 里 配置文件获取方式
- Email 发送邮件的
- HelloWorld 演示测试用的
- Ini 配置管理