library single-service-server
single service framework, base on swoole
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
单服务框架
说明(特色、局限性)
- 这个框架是用来实现内部接口服务的,不是做网站的(不考虑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)
- 模块专属类库(library目录),在run.php的入口文件通过设置->initAutloadLocalLibrary(true),可以在启动时全部预先加载,此时就不需要相应的autoload函数了
- 对于遵循psr-4规范的类库目录,可以在run.php的入口开头加入相关autoload,或通过server->initIncludePath()指定尝试搜索目录(仅支持一个目录)
- 其他像composer这种外部类库,在run.php的入口开头加入相关autoload
ServiceSample 下是几个小的Service骨架, (*6)
能用,但不一定合适你的情况能直接用,都是些很简单示例性的小服务, (*7)
使用前修改:, (*8)
- 合并所有_config目录下的配置
- 确认或修改bin/run.php 里 SingleService/Server.php 的路径
- 确认或修改bin/run.php 里 initServiceModule 那里模块路径
- 确认或修改bin/start.sh 里 配置文件获取方式
- Email 发送邮件的
- HelloWorld 演示测试用的
- Ini 配置管理
dev-master
9999999-dev
single service framework, base on swoole
Sources
Download
MIT
service
micro-service
1.0
1.0.0.0
single service framework, base on swoole
Sources
Download
MIT
service