定制 icekson/ws-app-server 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

icekson/ws-app-server

Composer 安装命令:

composer require icekson/ws-app-server

包简介

Scalable websocket server

README 文档

README

Usage of Websockets server

Configuration and description of services

config/autoload/server.json contains all information about services. There are few types of services suported:

  • Connector service: main purpose is to serve all the client's requests via websockets (RPC, subscribe/unsubscribe, receive events);
  • Gate service: WS service that is used for initialize process of WS clients and used as a gate. It aim to serve clients and give them appropriate Connector service address and port during init process;
  • Backend service: particular type of services intended to serve all RPC requests. All business logic will be executed inside this kind of services;
  • Job service: such services are used as workers for instant jobs, which are working using RabbitMQ queues;

Example of configuration file for server:

{
  "ws-server": {
	"services": {
	  "gate-server-1": {
		"php_path": "php",
		"name": "gate-server-1",
		"class": "Icekson\\WsAppServer\\Service\\GateService",
		"host": "vps.cricket.program-ace.net/ws-gate/",
		"port": 80,
		"bind_port": 5000
	  },
	  "connector-server-1": {
		"php_path": "php",
		"name": "connector-server-1",
		"class": "Icekson\\WsAppServer\\Service\\ConnectorService",
		"host": "vps.cricket.program-ace.net/ws1/",
		"identity_finder_class" : "Application\\Utils\\UserIdentityFinder",
		"port": 80,
		"bind_port": 5001
	  },
	  "connector-server-2": {
		"php_path": "php",
		"name": "connector-server-2",
		"class": "Icekson\\WsAppServer\\Service\\ConnectorService",
		"host": "vps.cricket.program-ace.net/ws2/",
		"identity_finder_class" : "Application\\Utils\\UserIdentityFinder",
		"port": 80,
		"bind_port": 5002
	  },
	  "backend-server": {
		"php_path": "php",
		"name": "backend-server-1",
		"class": "Application\\Service\\BackendService",
		"processes_limit": 20,
		"count": 1,
		"debug": true
	  },
	  "jobs-server-1": {
		"php_path": "php",
		"name": "jobs-server-1",
		"class": "Icekson\\WsAppServer\\Service\\JobsService",
		"routing_key": "match"
	  },
	}
  }
}

Script commands

run server

path to config directory or file, not required field

php scripts/runner.php app-server:start --config-path="./config/autoload/"

check server state

check server and if not started start it

php scripts/runner.php app-server:check

stop server

php scripts/runner.php app-server:stop

Test Tools

#Run monitor for application logs It works via RabbitMQ, it shows all the logs for scripts in system which uses Icekson\Utils\Logger

 php scripts/runner.php tool:logs-monitor

icekson/ws-app-server 适用场景与选型建议

icekson/ws-app-server 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 199 次下载、GitHub Stars 达 1, 最近一次更新时间为 2016 年 03 月 21 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 icekson/ws-app-server 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 icekson/ws-app-server 我们能提供哪些服务?
定制开发 / 二次开发

基于 icekson/ws-app-server 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 199
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 2
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2016-03-21