Senior Java Developer
Mobility Asia made a plan of a car networking system, we adapt middle stage + micro-service framework. Our business middle stage and technical middle stage are set up together.It realize message push, store, monitor,safety, account management ,etc. Use k8s to do the container deployment, management, dynamic expansion, provide technical solution for high concurrency. Use IBM’s product APIC as gateway(will change to HUA WEI Cloud’s APIG sooner or later), web services will add NGINX to realize more strong ability of balance. We adapt separated front-end architecture, for customized functions we will write in BFF (back-end for front-end) layer. We will integrate back-end services in BFF so that can provide a better services fro front-end to use. In another hand, we may set up internal gateway faces to back end-services, cps so that to detection flow and monitor services status.From technical perspective use spring boot+spring cloud, gateway use APIC, use caching(REDIS) reasonably to decrease the pressure of database, use ELK(Elastic Search,Log stash, Kibana to do the log analyze. Use Maven automated build tools, manage by ICP(IBM’s product, packaged k8s).From architecture perspective, adapt DDD(Domain-Driven Design), use business process to lead the project not the traditional data as lead. Use proxy-mode,builder-mode,adapter-mode,strategy-mode,appearance-mode,etc reasonably in project.From product performance, high concurrency perspective, set reasonable memory, CPU etc. Optimized JVM, consider garbage collection mechanism in code, use soft connection,weak connection reasonably,etc. Use the virtual link at the debug level for log printing and tracking garbage collection.From micro-services perspective, consider service’s balance (back-end services that is a jar, we use k8s to manage, if a war, will add a layer of NGINX ). Fuse isolation downgrade adopts Hystrix. Write client for other services to call we adapt feign client.