Results 1 to 9 of 9

Thread: Сomplicated business logic and balancing

  1. #1

    Default Сomplicated business logic and balancing

    Hello, i have very complicated business logic application on wowza. It is online training with teacher and many students. It consist of list of students, chat and many live videos of students. The global idea is balancing it with many servers. But there is problem: all data (chat, list of users, list of live student video) kept in wowza cache memory. Not in database or files.

    I understand i can balancing live video with live repeater + load balancing. But users will connect to one main server to read chat, see userlist etc. It is not good.

    How can i balance my business logic between many servers? It is in one module. Is there "shared memory" between origin and edge servers? I want user connect to edge server and get all data (chat, list of users etc) that keep in origin server.


  2. #2
    Join Date
    Dec 2007



    Assuming the client is Flash RTMP, the best thing to do is use a 2nd NetConnection to connect to the origin for data.


  3. #3


    Quote Originally Posted by rrlanham View Post

    Assuming the client is Flash RTMP, the best thing to do is use a 2nd NetConnection to connect to the origin for data.

    Thank you for reply, Richard! I think use second NetConnection for data is not good. I want balance that origin server with data. May be store data in mongo? Or make replication between wowza servers. Is it possible?


  4. #4


    Hi Ramil,

    You have the Flash Shared Object method to share data between flash clients connected to one server.

    I do not believe there is a way built into Wowza to share data between servers. I think you would use traditional Java client/server/RPC techniques.

    Or possibly as Richard was suggesting using the Shared Object method by having at least one Flash client connect to two different Shared Objects on two different Wowza servers. That client could then sync data between the two servers.

  5. #5
    Join Date
    Dec 2007


    Using a 2nd NetConnection in the RTMP client to get data from a Wowza server dedicated to that role is a standard way to deal with this situation. There really isn't a way to do what you are asking. You could populate a db and sync each edge from that, but say that is not an option in your first post, and would be very involved.


  6. #6


    Richard, I understand that you talking about. But I have doubts about it. I am planning about 10k-100k online students. Is it possible for one origin data server?
    I have follow servers:

    Server A:
    Intel Core i7-920 Quad-Core
    incl. Hyper-Threading-Technologie
    RAM 12 GB DDR3 RAM Hard disks 7 x 3 TB SATA
    6 Gb/s HDD 7200 rpm
    (Software-RAID; Level optional)

    Server B:
    Intel Xeon E3-1245 Quadcore
    incl. Hyper-Threading Technology
    RAM16 GB DDR3 RAM ECCHard disks2 x 3 TB SATA 6 Gb/s HDD
    7200 rpm (Software-RAID 1)
    Enterprise class

    That is maximum concurrent connections for each server? What server is better for origin data?


  7. Default

    Does your workflow involve many instructors and different groups of students, or one instructor and a single large group of students?

    There are a number of options for distributing load for an application of this type, but better understanding the use case would help to make suggestions. Can you describe the groups of users in greater detail?

  8. #8


    Quote Originally Posted by jay_charles View Post
    Does your workflow involve many instructors and different groups of students, or one instructor and a single large group of students?
    There is only one teacher (instructor) and one large group of students. But there are few roles of students: user and moderator. Moderator can moderate chat, kick user, etc. User can only view teacher and write message to chat.

    What kinds of distributing do you suggest?


  9. Default

    I'd consider the following:

    10-100k users? Forget the idea of a real time user list. There's no way any human can interact with that efficiently, and 100k slots in a shared object is not realistic (the update frequency will be ridiculous). If you must have a list available, do it outside of the wowza environment, and update on an interval.

    Text chat for 10-100k users? I suppose if the vast majority of those users are respectful of the chat, and you don't have too many messages coming in at once it might work, but really, I think the idea of real time chat for an audience that large is unrealistic. Even if there are only a couple of hundred active participants in the chat, the text will scroll by too quickly to be useful. I'd suggest using a moderated question entry system whereby students add questions to a queue, and the queue can be moderated at a pace dictated by the moderator. In this case, I would do this outside of Wowza, as it would be better served by a web application. If you want fast performance and you don't need to log the questions for archive or metrics, I'd use a memcached solution rather than a database... would be far more efficient.

    In the end, when you're talking about audiences that large for a single event, I'd suggest not trying to cram all of the functionality into a single application... it's just not efficient that way. Handle your data transactions outside of Wowza, and just let wowza deal with the video streams. I think you'll find that your video performance will be better, and a web application will scale more easily (most java application servers already have a framework for that).

Similar Threads

  1. CreateSnapshot logic for $250?
    By reyco1 in forum Wowza Streaming Engine functionality
    Replies: 2
    Last Post: 09-03-2014, 05:36 AM
  2. Home and Small Business Video Monitoring
    By Daniel6 in forum Showcase
    Replies: 0
    Last Post: 03-22-2012, 05:50 AM
  3. Сan not exceed the limit of 1 gigabit
    By lokki7 in forum General Forum
    Replies: 6
    Last Post: 12-20-2011, 06:43 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts