Good idea, the code is too complicated for now. ------------------
Sincerely, Liang Zhang (John) Apache ShardingSphere 吴伟杰 <wuwei...@apache.org> 于2022年10月19日周三 17:29写道: > Hi community > > Currently ShardingSphere integrates Vert.x as the database driver of > ShardingSphere-Proxy [1]. ShardingSphere-Proxy MySQL using Vert.x as > the database driver does have a certain performance improvement > compared to using JDBC, but the improvement is not as large as > expected. > During the actual development and use of Vert.x-based > ShardingSphere-Proxy, we encountered many problems: > - Vert.x-based asynchronous code increases coding complexity and > debugging costs. > - The existing metadata loading logic is developed based on JDBC > (blocking I/O model), and the workload of refactoring the metadata > loading logic into asynchronous Vert.x is very heavy. Therefore, > ShardingSphere-Proxy driven by Vert.x database cannot use cluster > mode. > - The metadata code is coupled with JDBC, and requires some > refactoring before working with Vert.x to decouple the code from JDBC. > - Vert.x does not have a mature solution for distributed transactions, > and transactions have not reached a production-ready state. > - The ShardingSphere team doesn't have much energy to put into Vert.x > driver. > - JDBC is standard for Java compared to Vert.x. > - Java 19 introduced Virtual Thread to improve performance without > changing Java's multithreaded programming model. Although the > performance of Virtual Thread has not yet reached the ideal state, it > may be able to help ShardingSphere to improve the performance in the > future without a lot of code modification. > Therefore, we intend to separate the current Vert.x code in > ShardingSphere into a separate branch for maintenance to reduce the > cost of understanding and maintaining the main code. > Please voice your opinions as fully as possible. Thank you. > > [1] https://github.com/apache/shardingsphere/issues/13957 > > Regards, > Weijie > > ----------------------------------------------- > > Wu Weijie 吴伟杰 > Apache ShardingSphere PMC > GitHub@TeslaCN >