All along, MySQL because of open source, the birth of many expansion programs, like Amoeba, Atlas, Cobar, Mysqlproxy, etc., mostly based on the MySQL communication protocol to customize the solution, so we envy envy, but no way, Microsoft does not offer a similar scenario, but now, with Sqlserverproxy, we have a light that can be customized based on our own requirements.
Figure 1, Sqlserverproxy's basic deployment architecture
Sqlserverproxy's feature is to maximize the release of the skills we have mastered, only tailored to our business needs, to meet our perfect expectations. Business requirements customization The most critical part is the request distribution, some real-time requirements are high, some low, a large unified solution may not be able to meet. Sqlserverproxy has a feature that provides a request-distribution implementation based on regular expression matching, which can be easily satisfied only by modifying the configuration file. In addition, there are other features.
compatibility , is transparent to the application and does not require a version upgrade to be compatible with all versions of SQL Server 2000 to SQL Server 2014.
built-in commands to easily view sqlserverproxy history, real-time, single-client traffic, number of requests, number of transactions, and more.
interface Customization , the default is to provide the interface based on regular expression matching is not enough, and so on, you can implement a specific interface, the obligations of their own logic to encapsulate, maximize the ability to increase load balance.
Compatibility is easy to understand, built-in commands are specific SQL statements that return Sqlserverproxy internal statistics, such as "Select Vt_active" on the Sqlserverproxy listening port; The following list column information is returned:
Figure 2, built-in view of active session commands
It also provides a built-in command to view real-time traffic and requests, which is a useful command to view the load.
Figure 3, viewing the commands for real-time statistics
Interface customization, provides 5 customizable interfaces, but the most critical one is to determine the interface of the request distribution, in Sqlserverproxy, as long as the reference "Akuma.Contract.dll" assembly, the implementation of the "Islaveprovider" interface, and then modify the use of The "Microsoft.Practices.Unity" injected configuration File "SqlServerProxy.exe.config" allows you to focus on the business logic to maximize load balancing.
Detailed aspects, including all available commands, can be downloaded sqlserverproxy after viewing the relevant documentation.
However, Sqlserverproxy currently has no built-in data sharding capabilities, data fragmentation needs to be specific to the business, and is estimated to be customized (contact me if needed).
There is, from Figure 1 can also be seen, sqlserverproxy do not do data synchronization, data synchronization needs to rely on database replication technology, but share the pressure of the main server, should be able to speed up the speed of data synchronization, to achieve quasi-real-time data level.
: Http://www.projky.com/downloads/3a382709-d680-476c-853d-dc3af5c625de/SqlServerProxy.zip
This blog address: http://www.cnblogs.com/ProJKY/p/SqlServerProxy.html e-mail:[email protected] I hope you have more advice.
SQL Server Scale-out load balancing Ultimate Weapon Sqlserverproxy