How PrizmDoc Viewer Load Balancing Works


01/25/2019

If the people using your web application need to view, search, redact, or annotate documents right in their browser, PrizmDoc Viewer is an amazing option. It lets you present Office, PDF, TIFF, email, and many other kinds of documents as part of your web application. Check out some of the demos if you've never seen it in action.

To make all of this possible, there are basically two sides to the PrizmDoc Viewer architecture:

  • The HTML viewer itself, running in the browser
  • A powerful backend which converts documents, page by page, to SVG for viewing in the browser

Your web server sits between these two, acting as a proxy for the viewer to ask the backend for the pages it needs to display:
 
PrizmDoc load balancing

One of the advantages of this architecture is that we can deliver the first page of the document as soon as it's ready, even while the rest of the document is still being converted. However, setting up and maintaining the backend is not trivial.

Fortunately, Accusoft can handle all of that for you with PrizmDoc Cloud. Sign up, get an API key, and simply connect your web application to our already-running, fully-managed PrizmDoc Viewer backend. It's a great option, especially if you're just getting started with PrizmDoc Viewer.

But, of course, using an Accusoft-hosted backend may not work for your business. Maybe you are not allowed to ever let documents leave your network, even temporarily. If that's the case, you'll need to host and manage the backend yourself. As customers start looking into what it takes to do that, we get a lot of questions about how load balancing works. How is the compute workload spread across the servers? How are HTTP requests routed to the the correct machines? What sort of load balancer(s) should I be using? Those are the kinds of questions we'll cover in this post.

To do that, though, we first need a more detailed picture of the backend. For more on PrizmDoc load balancing, check out the rest of my article here.

 


 

Adam Cooper

Adam Cooper, Software Architect, PrizmDoc

Adam joined Accusoft in 2010 and works as a software architect for the PrizmDoc family of products. He focuses primarily on API design, customer experience, and internal tooling to support product development. Prior to Accusoft, Adam developed software for a variety of organizations, mostly focusing on .NET, web development, and automated testing. Outside of work, Adam enjoys photography, music composition and engraving, discussing the Bible, and spending time with his family and church.

Related posts


visual testing
5 Visual Testing Best Practices
Read More >
Integrating PrizmDoc Editor and Using a Workflow in Your Application
Integrating PrizmDoc Editor and Using a Workflow in Your Application
Read More >
What’s Pushing the Python Preference?
Snake Charmer: What’s Pushing the Python Preference?
Read More >

Join the discussion.