Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/roadrunner-php/goridge
PHP Goridge Protocol implementation
https://github.com/roadrunner-php/goridge
hacktoberfest php protocol roadrunner rpc rpc-framework
Last synced: 6 days ago
JSON representation
PHP Goridge Protocol implementation
- Host: GitHub
- URL: https://github.com/roadrunner-php/goridge
- Owner: roadrunner-php
- License: mit
- Created: 2020-09-16T18:29:59.000Z (over 4 years ago)
- Default Branch: 4.x
- Last Pushed: 2024-10-21T10:52:41.000Z (3 months ago)
- Last Synced: 2025-01-16T03:06:24.213Z (17 days ago)
- Topics: hacktoberfest, php, protocol, roadrunner, rpc, rpc-framework
- Language: PHP
- Homepage: https://docs.roadrunner.dev/php-worker/rpc
- Size: 2.78 MB
- Stars: 107
- Watchers: 12
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# High-performance PHP-to-Golang IPC bridge
[![Latest Stable Version](https://poser.pugx.org/spiral/goridge/v/stable)](https://packagist.org/packages/spiral/goridge)
[![CI](https://github.com/spiral/goridge-php/workflows/CI/badge.svg)](https://github.com/spiral/goridge-php/actions)
[![Codecov](https://codecov.io/gh/roadrunner-php/goridge/branch/master/graph/badge.svg)](https://codecov.io/gh/roadrunner-php/goridge/)
[![Chat](https://img.shields.io/badge/discord-chat-magenta.svg)](https://discord.gg/TFeEmCs)Goridge is high performance PHP-to-Golang codec library which works over native PHP sockets and Golang net/rpc package. The library allows you to call Go service methods from PHP with minimal footprint, structures and `[]byte` support.
Golang source code can be found in this repository: [goridge](https://github.com/roadrunner-server/goridge)
See https://github.com/spiral/roadrunner - High-performance PHP application server, load-balancer and process manager written in Golang## Features
- no external dependencies or services, drop-in (64bit PHP version required)
- sockets over TCP or Unix (ext-sockets is required), standard pipes
- very fast (300k calls per second on Ryzen 1700X over 20 threads)
- native `net/rpc` integration, ability to connect to existing application(s)
- standalone protocol usage
- structured data transfer using json or msgpack
- `[]byte` transfer, including big payloads
- service, message and transport level error handling
- hackable
- works on Windows
- unix sockets powered (also on Windows)## Installation
```
composer require spiral/goridge
```## Example
```php
call("App.Hi", "Antony");
```> Factory applies the next format: `://:`
More examples can be found in [this directory](./examples).
License
-------
The MIT License (MIT). Please see [`LICENSE`](./LICENSE) for more information.