Multiple Restcomm USSD Gateways behind a load balancer - cluster-computing

Does anyone know how to arrange Multiple Restcomm USSD GateWay nodes in a cluster?
Is there some sort of documentation or examples? I didn't find no one.
Thanks in advance.

Related

Collecting Kubernetes metrics in golang

I am using GKE platform to implement a Kubernetes scheduler. I am using Prometheus Grafana to monitor the applications.
For implementing a scheduler in golang, I need to get the metrics as an input to the scheduler.
Please suggest me some methods to do so.
Also please suggest proper documentations so that I can easily understand the things.
I am a newbie, so I don't know anything it.
Your help will be appreciated.
First, I would encourage you to read some relevant documentation about Kubernetes monitoring architecture which explains a lot of useful information about main concepts of Kubernetes metrics. Since you have used Prometheus as a main monitoring cluster agent, you might be operating with some specific metrics exposed by the application in your Kubernetes cluster infrastructure; therefore when you plan to implement custom scheduler it should be the main factor to adapt these metrics in order to define the further scheduler behavior. The good example to achieve this goal can be Sysdig monitoring tool, as it can perform automatic collection of Prometheus metrics and propagate these metrics across applications in the cluster.
You can also visit Custom scheduler project on GitHub based on Sysdig monitoring metrics and driven by open-source community enthusiasts.

GCE managed groups api for horizontally scaling kubernetes nodes

i would like to scale kubernetes nodes according to unscheduled pods. if i have pods that can't be scheduled because of their resource requirements, i want to add a new node to the cluster.
looking at autoscaling feature of managed groups in GCE, this doesn't seem to be possible, as their model requires a metric per node in the cluster, while my metric is global.
can anyone confirm that this can't be achieved with current GCE solution?
anyone know of any existing tool/blogpost whatever that could help implementing a solution?
assuming i'm going to roll my own, i'm having problems finding an api that controls GCE managed groups (allows to add a node, remove a node)
thanks,
Nathan
If you are fine with the standard per-node metrics, read the "Horizontal auto-scaling of nodes (GCE)" section of the kubernetes cluster management guide to enable to autoscaler.
If you want custom metrics, you can check out the GCE document.
There is also a similar question on stackoverflow, and the author of one of the answers said that after writing their own custom metrics, the standard per-node metrics was found to be just as good, if not better, for their use case.

Kannel vs Jasmin SMS

I've encountered a choice I have to make.
Please advise what is the best choice for SMS platform between Kannel and Jasmin SMS. Who knows any pros and cons?
As a python programmer I feel more comfortable with Jasmin. It works very well, and the main advantage to me is that I can customize anything I need.
My experience with Jasmin is great, and I currently use it to connect to 4 SMSC and load balance between them. I have sent millions of messages without any performance problems at all.
My experience tells me that every SMSC has specific needs, and with Jasmin I can go into the code and change what I need.
This code is well written !
Both systems are very versatile and can be configured to perform complex tasks.
2 main difference that i find :
SMPP: Kannel implements only smpp client functionality and cannot act as SMPP server , while JasminSMS implements both.
MODEM: Modem interaction is very flexible using Kannel. I think its not available in the JasminSMS, but can be added using a plugin (https://github.com/jookies/jasmin/issues/697)

what is the LB algorithm in WSO2 ELB and how to configure it

In "http://docs.wso2.org/display/ELB203/ELB+Architecture", it mentioned that a Synapse endpoint by the name "ServiceDynamicLoadBalanceEndpoint" routes messages to the appropriate node. I want to what is the exact algorithm supported by the ELB to route messages to the appropriate node, random? round-robin? or others?
And how to configure it.
If someone know about it, please tell me.
Currently the default endpoint used by WSO2 ELB is TenantAwareLoadBalanceEndpoint and it uses Round Robin algorithm by default. But unfortunately, with this endpoint it is not configurable at the moment.
But we've recently made the endpoint used by WSO2 ELB configurable. Please refer to https://wso2.org/jira/browse/LB-68
This will probably available on next ELB release (2.1.0) which will happen within next few weeks. With a custom endpoint, you can change the load balancing algorithm.
Hope this helps.
Currently WSO2 ELB use round robin algorithm in default. If anyone needs a different algorithm he can implement a algorithm and plug in to WSO2 ELB as a custom jar from next release.

Number of client consuming remote osgi service

While playing with DOSGI I am trying to load balance the available remote osgi service.
I have gone through OSGi Service Platform Service Compendium 4.3 and found that we will need implement load balancing in toplogy manager...I am trying to figure out the load on particular
remote service like how many client is consuming that service to decide on my load balancing strategy ..I am new to OSGI and DOSGI so sorry if I missed something...
So basically I want to know how I can get that number if it is possible or is there any property to get that information like we have service.ranking to get ranking of the service.
Thanks in advance for any response.
You can get a lot of information from the service hooks. However, if you need detailed information about the load I am not sure if the nr of clients is relevant, the latency invocations have seems much more relevant.
A way to measure this is to proxy the remote service an hide the original with the service hooks for other bundles. This is all quite advanced so it is too much to explain this in detail here. Consult the OSGi Core Specification 5.0.0 for details.

Resources