大家好,今天小编关注到一个比较有意思的话题,关于java语言有哪些架构的问题,于是小编就整理了2个相关介绍Java语言有哪些架构的解答,让我们一起看看吧。
用J***a做一个大流量、高并发的网站应该怎么样进行底层构架?***用哪些框架技术比较适合?
主要看多大的并发,一般可以nginx+springboot基础来搞,数据库主从,甚至分库分表,可以扩展,模块负载均衡。具体可以看看微服务的开发介绍。
大家好,今天小编关注到一个比较有意思的话题,关于java语言有哪些架构的问题,于是小编就整理了2个相关介绍Java语言有哪些架构的解答,让我们一起看看吧。
主要看多大的并发,一般可以nginx+springboot基础来搞,数据库主从,甚至分库分表,可以扩展,模块负载均衡。具体可以看看微服务的开发介绍。
还是要根据自己项目情况规划好。注意几点:投入资金,投入人员和时间。
我想楼主是想在一台机子上模拟部署一下分布式架构,答案是可以的。
方案一: 开好多台虚拟机,这样就可以当好多台机部署
方案二: 用docket代替方案一的VM,这样***占用可以少很多
方案三: 用minikube在单机模拟k8s集群进行分布式部署,操作和真正的k8s集群基本没区别
当然,单机的cpu和内存要尽量高点
内聚性是指每一个数据库分布节点高度自治,有本地的数据库管理系统。
透明性是指每一个数据库分布节点对用户的应用来说都是透明的,看不出是本地还是远程。
可以,但是不推荐。
分布式的目的是分工合作,提高系统的整体可用性!
***设一个系统S,拆分为s1,s2,s3。如果s1挂了,那可能s1负责的功能无法使用,s2,s3负责的功能还是能使用的。比如2018年双11,淘宝的地址服务挂了,买家无法修改收货地址。但是并不影响下单。
***设s1,s2,s3部署在一台机器上,会降低整体可用性!如果只是单纯的s1,s2,s3挂了,只会影响部分功能,但是如果这台机器挂了,那整个系统就都挂了。
如果s1,s2,s3部署在不同的机器上,那么其中一台机器挂了,也不会导致系统整体不可用。
谢邀~
技术上可行,但是架构上不建议。
几种部署方式,第一个不太建议,后两种方案都还可以:
直接部署,不同的软件、中间件占用不同的端口:例如数据库Mysql占用3306端口,多套不同的程序使用Tomcat部署,占用不同的端口,或者使用Spring Boot的话,启动时候指定不同的端口;相同的应用前面挂一个负载均衡,或者直接安装注册中心到这台机器上。其余用到的软件,也一窝蜂的安装在同一台机器上。
虚拟化:使用虚拟化技术,将一台物理机,虚拟成多台虚拟机,然后分别在每个虚拟机中,安装不同的软件、中间件,最终完成部署,彼此相互隔离。
容器技术:比如docker;和虚拟化类似(详情参考我的另一个回答:《docker容器与虚拟机有什么区别?》),容器技术更轻量级、更容易部署和移植、并且可以弹性伸缩;相同配置的服务器,部署容器的数量会比虚拟机多很多。
主要出于两方面的考虑:
如果只是自己学习分布式搭建,或开发环境自测简单的业务功能实现是完全可以的。
分布式环境中间的网络节点可以在公网,内网,本机,只要节点间能通信。
在一些业务量还不高的分布式系统线上环境也会有单机多节点的部署情况。
单机多节点部署:
1.不同节点端口不同,如dubbo_provider,tomcat,jeety,undertow等所有容器都可指定固定通信端口。
2.装虚拟机,每个虚拟机上一套应用,每台虚拟机一个ip通信
缺点:应用安装繁琐,管理不便,会分散很多精力在环境问题上。
3.这几年流行的做法:docker+k8s,
优点:应用镜像安装一个pull搞定,***率比虚拟机高n倍,甚至能在别人的镜像仓库找到现有的分布式demo;强烈建议了解一下
到此,以上就是小编对于J***a语言有哪些架构的问题就介绍到这了,希望介绍关于J***a语言有哪些架构的2点解答对大家有用。