stateless espoCRM for Scalability

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Patrick
    Member
    • Sep 2016
    • 46

    stateless espoCRM for Scalability

    espoCRM is great! especially with its API architecture.

    I want to consider many concurrent users connecting to the espoCRM server.

    For scalability issue:
    Can I make multiple copies of espoCRM server and connecting to a pool of mysql datatase (for example google cloud SQL) and sharing 'upload' directory among each copy, so as to increase the number of users EspoCRM can serve ?

    In other words:
    apart from 'upload' directory and mysql-db, what are the states (memorized elements) that has been stored on EspoCRM php server?

    Any comments are welcomed.
  • Patrick
    Member
    • Sep 2016
    • 46

    #2
    any other scale up techniques are also welcomed

    Comment

    • tanya
      Senior Member
      • Jun 2014
      • 4308

      #3
      Hi
      You can use portals for this.

      Comment

      • bandtank
        Active Community Member
        • Mar 2017
        • 379

        #4
        Portals won't help with this issue because they don't do anything to balance load on the servers nor do they fix the single upload directory issue. The back end can't be stateless at this time.

        Patrick, the upload directory, user preference files, and environment file (config.php) have to be handled. The environment file (data/config.php) file is essentially the .env file that you're used to seeing in a scaled environment, so you can deploy it with your automatic deployment process as usual. Preference files will be stored on individual servers if the user chooses to modify their preferences, but that's going to change in 4.6.0. There's a class to handle remote storage systems, but it's not obvious how to use it yet and I haven't spent a lot of time looking at it. I'd like to connect my upload directory to S3 after I get it working. Once the upload directory is able to be shared between instances and user preference files aren't stored in local instances of the app, it should be stateless and deployable to an HA/scaled environment.

        Comment

        • Patrick
          Member
          • Sep 2016
          • 46

          #5
          Thank you bandtank, looking forward to hearing from your new updates.

          Comment

          Working...