Our final web server is capable of serving static, template-rendered, and dynamic content well within the confines of the goal of 10,000 concurrent connections on even the most modest of hardware.
The code—much like the code in this book—can be considered a jumping-off point and will need refinement if put into production. This server lacks anything in the form of error handling but can ably serve valid requests without any issue. Let's take a look at the following server's code:
package main import ( "net/http" "html/template" "time" "regexp" "fmt" "io/ioutil" "database/sql" "log" "runtime" _ "github.com/go-sql-driver/mysql" )
Most of our imports here are fairly standard, but note the MySQL line that is called solely for ...