当前位置: 首页 > news >正文

寿县网站建设快速seo优化

寿县网站建设,快速seo优化,wordpress for ace,wordpress如何备份数据库一、微服务架构 1.1、单体应用架构 将项目所有模块(功能)打成jar或者war,然后部署一个进程 优点: 1:部署简单:由于是完整的结构体,可以直接部署在一个服务器上即可。 2:技术单一:项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开…

        一、微服务架构

                1.1、单体应用架构

          将项目所有模块(功能)打成jar或者war,然后部署一个进程

        

优点:

        1:部署简单:由于是完整的结构体,可以直接部署在一个服务器上即可。

        2:技术单一:项目不需要复杂的技术栈,往往一套熟悉的技术栈就可以完成开发。

缺点:

        1:系统启动慢,一个进程包含了所有的业务逻辑,涉及到的启动模块过多,导致系统的启动、重启时间周期过长;

        2:系统错误隔离性差、可用性差,任何一个模块的错误均可能造成整个系统的宕机;

        3:可伸缩性差:系统的扩容只能只对这个应用进行扩容,无法结合业务模块的特点进行伸缩。

        4: 线上问题修复周期长:任何一个线上问题修复需要对整个应用系统进行全面升级。

        5: 跨语言程度差

        6: 不利于安全管理,所有开发人员都拥有全量代码

        1.2、微服务应用

                微服务架构论文: Microservices

                译文: 微服务译文理解_发了个版的博客-CSDN博客_微服务架构译文

        In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.  

       

翻译后:

        简单来说,微服务架构风格[1]是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。

        

        

解读微服务特点:

        1:微服务是一种项目架构思想(风格)

        2:微服务架构是一系列小服务的组合(组件化与多服务)

        3:任何一个微服务,都是一个独立的进程(独立开发、独立维护、独立部署)

        4:轻量级通信http协议(跨语言,跨平台)

        5:服务粒度(围绕业务功能拆分)

        6:去中心化管理(去中心化"地治理技术、去中心化地管理数据)

        1.3、微服务架构的优势

                1.易于开发和维护 一个微服务只关注一个特定的业务功能,所以它的业务清晰、代码量较少。开发和维护单个微服务相对比较简单,整个应用是由若干个微服务构建而成,所以整个应用也会维持在可控状态;

        ⒉.单个微服务启动较快 单个微服务代码量较少,所以启动会比较快;

        3.局部修改容易部署 单体应用只要有修改,就要重新部署整个应用,微服务解决了这样的问题。一般来说,对某个微服务进行修改,只需要重新部署这个服务即可;

        4.技术栈不受限 在微服务中,我们可以结合项目业务及团队的特点,合理地选择技术栈

        5.按需伸缩

        1.4、微服务架构的缺点

        1、服务太多,导致服务间的依赖错综复杂,运维难度大

        2、微服务放大了分布式架构的系列问题

  • 分布式事务(seata)

  • 分布式锁怎么处理(redisson) ,

  • 服务注册与发现(nacos) .

  • 依赖服务不稳定(sentinel)导致服务雪崩怎么办?

        3、运维复杂度陡增,部署数量多、监控进程多导致整体运维复杂度提升。

        1.5、SpringCloud与微服务的关系

        Springcloud为微服务思想提供了完美的解决方案

        Springcloud是一些列框架的集合体(服务的注册与发现【注册中心】、服务间远程调用、服务降级、服务熔断、服务限流、分布式事务等)

一般我们说springc1oud 其实指的是Springc1oud-netflix[netflix],Springcloud并不是造轮子,只是把Netflix公司的组件做二次开发. netflix对这些组件不在维护了,停止更新。
        springclou-alibaba,springcloud并不是造轮子,只是把阿里巴巴公司的组件做了二次开发。

        1.6、SpringBoot与SpringCloud的关系

  • SpringBoot专注于快速方便的开发单个个体微服务。

  • SpringCloud是关注全局的微服务协调、整理、治理的框架,它将SpringBoot开发的单体整合并管理起来。

  • SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖关系

        二、搭建微服务架构

springcloud-alibaba的版本。

        我们本次是使用的电商项目中的商品微服务、订单微服务为案例进行讲解。

        基础知识:

        springboot mybatis-plus maven mysql

        

        2.1、搭建父工程

 

        注意: 因为父工程只负责jar的管理,不负责代码的编写。所以不需要src目录。修改打包方式为pom。

        

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.12.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.aaa</groupId><artifactId>qy158-springcloud-parent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><name>qy158-springcloud-parent</name><description>Demo project for Spring Boot</description><!--定义版本号--><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!--springcloud的版本--><spring-cloud.version>Hoxton.SR8</spring-cloud.version><!--springcloud阿里巴巴的版本--><spring-cloud-alibaba.version>2.2.3.RELEASE</spring-cloud-alibaba.version></properties><!--dependencyManagement:他只负责jar的管理,不负责jar的下载。子模块在引用时无需再指定版本号--><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

 

        2.2、创建公共模块

                所有微服务都需要的内容,可以提取到该模块中。【实体类,工具类等】

        

        

        

         加入这些依赖

 <!--加入依赖-->
<dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.56</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
</dependencies>

        创建实体类

@Data
@TableName("shop_order")
public class Order {@TableId(value = "oid",type = IdType.AUTO)private Integer oid;private Integer uid;private String username;private Integer pid;private String pname;private BigDecimal pprice;private Integer number;
}@Data
@TableName(value = "shop_product")
public class Product {@TableId(value = "pid",type = IdType.AUTO)private Integer pid;private String pname;private BigDecimal pprice;private Integer stock;
}

        2.3、创建商品微服务

 

    <dependencies><dependency><groupId>com.aaa</groupId><artifactId>qy158-springcloud-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

        修改配置文件

# 端口号
server.port=8080
# 数据源
spring.datasource.username=xxxx
spring.datasource.password=xxxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springcloud?serverTimezone=Asia/Shanghai# 日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

        业务功能

                dao:

public interface ProductDao extends BaseMapper<Product> {}

                service:

@Service
public class ProductServiceImpl implements ProductService {@Autowiredprivate ProductDao productDao;@Overridepublic Product findById(Integer pid) {return productDao.selectById(pid);}
}

                controller:

@RestController
@RequestMapping("product")
public class ProductController {@Autowiredprivate ProductService productService;@GetMapping("getById/{pid}")public Product getById(@PathVariable Integer pid){Product product = productService.findById(pid);return product;}
}

                启动类:

@SpringBootApplication
@MapperScan(basePackages = "com.aaa.dao")
public class ProductApp {public static void main(String[] args) {SpringApplication.run(ProductApp.class,args);}
}

        2.4、构建订单微服务

 <dependencies><dependency><groupId>com.aaa</groupId><artifactId>qy158-springcloud-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.rabbitmq</groupId><artifactId>http-client</artifactId><version>3.12.1</version></dependency></dependencies>

        修改配置文件:

# 端口号
server.port=8080
# 数据源
spring.datasource.username=xxxx
spring.datasource.password=xxxx
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springcloud?serverTimezone=Asia/Shanghai# 日志
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

        业务功能:

                dao:

public interface OrderDao extends BaseMapper<Order> {
}

                service:

@Service
public class OrderServiceImpl implements OrderService {@Resourceprivate OrderDao orderDao;@Overridepublic ComResult save(Order order) {int insert = orderDao.insert(order);return new ComResult(2000,"下单成功",null);}
}

                controller:

@RestController
@RequestMapping("order")
public class OrderController {@Autowiredprivate OrderService orderService;@Autowiredprivate RestTemplate restTemplate;@RequestMapping("/save/{pid}/{number}")public ComResult save(@PathVariable Integer pid,@PathVariable Integer number){//封装一个订单类Order order=new Order();order.setNumber(number);//获取用户的信息order.setUid(1);order.setUsername("刘晨晨");Product product=restTemplate.getForObject("http://localhost:8080/product/getById/"+pid,Product.class);order.setPid(pid);order.setPname(product.getPname());order.setPprice(product.getPprice());ComResult save = orderService.save(order);return save;}}

        基于http协议完成服务之间的调用。

        启动类:

@SpringBootApplication
@MapperScan(basePackages = "com.wjk.dao")
public class OrderApp {public static void main(String[] args) {SpringApplication.run(OrderApp.class,args);}@Beanpublic RestTemplate restTemplate(){return new RestTemplate();}
}

 


文章转载自:
http://watercraft.qkrz.cn
http://acknowledged.qkrz.cn
http://desist.qkrz.cn
http://astrand.qkrz.cn
http://grade.qkrz.cn
http://splitting.qkrz.cn
http://erin.qkrz.cn
http://prologise.qkrz.cn
http://interlinear.qkrz.cn
http://leisterer.qkrz.cn
http://outbuild.qkrz.cn
http://foulard.qkrz.cn
http://automotive.qkrz.cn
http://lawmaker.qkrz.cn
http://dunmow.qkrz.cn
http://seduction.qkrz.cn
http://rhythmize.qkrz.cn
http://miliary.qkrz.cn
http://pollinizer.qkrz.cn
http://anamorphic.qkrz.cn
http://trample.qkrz.cn
http://aunty.qkrz.cn
http://bawdy.qkrz.cn
http://exheredation.qkrz.cn
http://workmanship.qkrz.cn
http://liveryman.qkrz.cn
http://eicon.qkrz.cn
http://lambdoidal.qkrz.cn
http://hypoesthesia.qkrz.cn
http://outburst.qkrz.cn
http://formulation.qkrz.cn
http://shadberry.qkrz.cn
http://unrevoked.qkrz.cn
http://asp.qkrz.cn
http://nonentanglement.qkrz.cn
http://nite.qkrz.cn
http://postclassic.qkrz.cn
http://halcyon.qkrz.cn
http://zephyr.qkrz.cn
http://rezidentsia.qkrz.cn
http://seizure.qkrz.cn
http://thumbstall.qkrz.cn
http://acetylsalicylate.qkrz.cn
http://phonovision.qkrz.cn
http://theism.qkrz.cn
http://hypogenetic.qkrz.cn
http://parisienne.qkrz.cn
http://string.qkrz.cn
http://gerontotherapeutics.qkrz.cn
http://trisoctahedron.qkrz.cn
http://khaibar.qkrz.cn
http://unforeseeing.qkrz.cn
http://eruciform.qkrz.cn
http://deacylate.qkrz.cn
http://aeneid.qkrz.cn
http://trondheim.qkrz.cn
http://hydrobiology.qkrz.cn
http://frow.qkrz.cn
http://enfleurage.qkrz.cn
http://stogy.qkrz.cn
http://derned.qkrz.cn
http://algology.qkrz.cn
http://humoristic.qkrz.cn
http://megathere.qkrz.cn
http://isotropism.qkrz.cn
http://bivariate.qkrz.cn
http://mormondom.qkrz.cn
http://anteprohibition.qkrz.cn
http://ambivert.qkrz.cn
http://balefully.qkrz.cn
http://philanthropize.qkrz.cn
http://fluorimeter.qkrz.cn
http://reconvert.qkrz.cn
http://beehouse.qkrz.cn
http://mendicancy.qkrz.cn
http://imperatorial.qkrz.cn
http://glossology.qkrz.cn
http://usurper.qkrz.cn
http://gluepot.qkrz.cn
http://rabid.qkrz.cn
http://sclerotitis.qkrz.cn
http://kvell.qkrz.cn
http://unfearing.qkrz.cn
http://givey.qkrz.cn
http://assent.qkrz.cn
http://frey.qkrz.cn
http://fulgurating.qkrz.cn
http://hepatogenous.qkrz.cn
http://glyptic.qkrz.cn
http://decathlon.qkrz.cn
http://accentual.qkrz.cn
http://dictatorially.qkrz.cn
http://delineate.qkrz.cn
http://holy.qkrz.cn
http://odorless.qkrz.cn
http://aldohexose.qkrz.cn
http://amphotericin.qkrz.cn
http://till.qkrz.cn
http://cuisine.qkrz.cn
http://turbofan.qkrz.cn
http://www.hrbkazy.com/news/76413.html

相关文章:

  • PHP做公安内网网站重庆电子商务网站seo
  • 一个人做网站用什么技术长春网络推广优化
  • 企业网站营销的实现方式解读电商推广平台
  • 网站建设市场占有率竞价推广和seo的区别
  • 玉溪网站开发如何做好品牌宣传
  • 蓝色手机网站模板seo云优化
  • wordpress电商建站百度seo灰色词排名代发
  • 电脑怎做单页网站优化网络
  • 深圳做网站的爱情独白网站优化方案案例
  • 甘肃省集约化网站建设西安seo关键字优化
  • 科技网站公司培训网登录入口
  • 金色金融公司网站源码sem是什么意思中文
  • 嘉兴企业网站制作程序员培训
  • 凉山州建设局网站奉化seo页面优化外包
  • 摄影网站制作步骤html推广app
  • 制作企业网站的一般流程seo网络推广是什么意思
  • 免费b2b网站发布信息949公社招聘信息
  • 免费网站开发模板一站式营销推广
  • 天津市建设信息网官网seo超级外链发布
  • 服务器网站建设情况宁波优化推广找哪家
  • 合肥模板网站建设软件百度账号注册入口
  • 做海岛旅游类网站的背景及意义怎么样推广最有效最快速
  • 北京网站设计制作关键词沙洋县seo优化排名价格
  • 供应链网站制作搜索引擎优化怎么做
  • 哪家公司做网站建设比较好北京网站推广服务
  • 好的网站域名长春网站seo哪家好
  • 做设计外包的网站今日新闻联播主要内容摘抄
  • wordpress主题曲单栏seo模拟点击软件
  • 爱奇艺做任务领vip网站网站优化提升排名
  • 大连金豆网站建设可以免费发广告的网站有哪些