中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

wordpress生成xml網(wǎng)站優(yōu)化排名方案

wordpress生成xml,網(wǎng)站優(yōu)化排名方案,微信朋友圈做網(wǎng)站推廣賺錢嗎,政府網(wǎng)站cms目錄 Nacos的配置 Nacos的單機(jī)啟動 服務(wù)注冊 Nacos服務(wù)分級存儲模型 優(yōu)先訪問同集群的服務(wù) 根據(jù)權(quán)重負(fù)載均衡 環(huán)境隔離Namespace Nacos調(diào)用流程 Nacos與Eureka注冊對比 Nacos與Eureka的共同點(diǎn) Nacos與Eureka的區(qū)別 Nacos配置管理 統(tǒng)一配置 配置自動刷新 多環(huán)境配…

目錄

Nacos的配置

Nacos的單機(jī)啟動

服務(wù)注冊

Nacos服務(wù)分級存儲模型

優(yōu)先訪問同集群的服務(wù)

根據(jù)權(quán)重負(fù)載均衡

環(huán)境隔離Namespace

Nacos調(diào)用流程

Nacos與Eureka注冊對比

Nacos與Eureka的共同點(diǎn)

Nacos與Eureka的區(qū)別

Nacos配置管理

統(tǒng)一配置

配置自動刷新

多環(huán)境配置共享

配置文件優(yōu)先級

Nacos集群搭建

數(shù)據(jù)庫初始化

配置nacos

啟動nacos

負(fù)載均衡反向代理(Nginx)


Nacos的配置

在GitHub下載好Nacos之后,解壓到目錄中需要對其進(jìn)行配置(如果端口不存在占用則不需要進(jìn)行修改)。解壓后進(jìn)入conf目錄下,編輯appliaction.properties文件修改端口(默認(rèn)端口為8848)

Nacos的單機(jī)啟動

啟動方式:在bin目錄下打開cmd窗口輸入startup.cmd -m standalone

訪問Nacos的主頁(默認(rèn)賬號與密碼都為nacos)

服務(wù)注冊

Eureka與Nacos并不能同時存在,因此需要將Eureka的依賴注掉,引入Nacos的依賴,首先在父工程中引入管理依賴。

<!--nacos依賴管理-->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>2.2.5.RELEASE</version><type>pom</type><scope>import</scope>
</dependency>

在其他項(xiàng)目中引入Nacos的依賴

        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>

然后修改配置文件

spring:cloud:nacos:server-addr: localhost:8848 #服務(wù)端地址

啟動服務(wù)觀察Nacos主頁

Nacos服務(wù)分級存儲模型

一個服務(wù)比如說User-Server,啟動起來的IP:端口 就是一個實(shí)例對象,不同機(jī)房的實(shí)例對象的集合叫集群。

之所以存在該模型是為了避免只有一個集群時,當(dāng)機(jī)房發(fā)生事故導(dǎo)致服務(wù)無法訪問。

服務(wù)調(diào)用盡可能的調(diào)用本地集群,跨集群訪問延遲大。如果本地集群不可用再選擇跨集群調(diào)用

默認(rèn)是沒有分配集群的,如果需要,需要在配置文件中進(jìn)行配置

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HN #配置集群名稱 河南

啟動多個服務(wù)更換集群名稱查看Nacos信息

優(yōu)先訪問同集群的服務(wù)

在沒有配置的情況下,默認(rèn)采用的是輪詢的方式去調(diào)用服務(wù),這不符合集群的訪問規(guī)則,因此我們可以通過修改配置文件來實(shí)現(xiàn)優(yōu)先訪問同集群服務(wù),然后再本地集群中選擇隨機(jī)的訪問規(guī)則

xxx-server:ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.naocs.ribbon.NacosRule #選擇負(fù)載均衡策略

根據(jù)權(quán)重負(fù)載均衡

由于修改后的負(fù)載均衡策略是隨機(jī)分配,但是有些設(shè)備性能較差,有些設(shè)備性能好,我們希望可以讓性能好的設(shè)備多處理一些事件,那么我們可以通過修改權(quán)重來更改隨機(jī)概率,權(quán)重越大,訪問次數(shù)越多。

環(huán)境隔離Namespace

首先需要在Nacos控制臺創(chuàng)建命名空間

然后將服務(wù)放置在命名空間,這就需要在代碼中修改配置文件了

spring:cloud:nacos:server-addr: localhost:8848discovery:namespace: 命名空間ID

不在同一個命名空間的服務(wù)是無法互相訪問的

Nacos調(diào)用流程

當(dāng)服務(wù)沒有配置時默認(rèn)是臨時實(shí)例,臨時實(shí)例采用心跳檢測存活狀態(tài),當(dāng)服務(wù)掛掉之后,會直接將臨時實(shí)例剔除,而非臨時實(shí)例nacos會主動詢問存活狀態(tài),當(dāng)掛掉之后也不會剔除,等待重新啟動,消費(fèi)者會主動拉取生產(chǎn)者信息在自己內(nèi)部緩存,當(dāng)有狀態(tài)發(fā)生變更時,nacos會立刻主動更新最新消息給消費(fèi)者。

spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HN #配置集群名稱 河南ephemeral: false #設(shè)置為非臨時實(shí)例

Nacos與Eureka注冊對比

Nacos與Eureka的共同點(diǎn)

  • 都支持服務(wù)注冊和服務(wù)拉取
  • 都支持服務(wù)提供者心跳方式做健康檢測

Nacos與Eureka的區(qū)別

  • Nacos支持服務(wù)端主動檢測提供者狀態(tài):臨時實(shí)例采用心跳模式,非臨時實(shí)例采用主動檢測模式。
  • 臨時實(shí)例心跳不正常會被剔除,非臨時實(shí)例則不會被剔除。
  • Nacos支持服務(wù)列表變更的消息推送模式,服務(wù)列表更新更及時。
  • Nacos集群默認(rèn)采用AP方式,當(dāng)集群中存在非臨時實(shí)例時,采用CP模式;Eureka采用AP方式。

Nacos配置管理

當(dāng)服務(wù)啟動過多時,需要進(jìn)行配置文件修改,如果一個一個修改則工作量較大且易出錯,而且修改配置后還需要進(jìn)行重啟。為此,Nacos提供了配置管理服務(wù)

在配置內(nèi)容欄中,并不是將所有的配置文件粘貼進(jìn)去,而是由熱更新需求的配置進(jìn)去就好。

統(tǒng)一配置

在啟動服務(wù)時在讀取application文件時優(yōu)先讀取nacos文件中的內(nèi)容,而nacos的地址就需要保存在一個讀取優(yōu)先級更高的文件中(bootstarp.yml)

實(shí)現(xiàn)該功能需要引入配置依賴

        <!--nacos的配置文件管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>

在resource添加配置文件bootstrap.yml

spring:application:name: 服務(wù)名稱profiles:active: 命名空間IDcloud:nacos:server-addr: localhost:8848 #Nacos地址config:file-extension: yaml #文件后綴名

配置自動刷新

當(dāng)配置文件更改時,默認(rèn)是不會生效的,要實(shí)現(xiàn)自動刷新配置功能有兩種方法。

  • 在讀取nacos配置文件信息的類中添加@RefreshScope
  • 添加一個配置類使用@ConfigurationProperties注解

假如說我們存在一個時間格式轉(zhuǎn)換的配置如下圖

我們可以在使用@RefreshScope注解實(shí)現(xiàn)配置刷新

@RestController
@RequestMapping("order")
@RefreshScope
public class OrderController {@Value("${pattern.dateformat}")private String dateFormat;@Autowiredprivate OrderService orderService;@GetMapping("{orderId}")public Order queryOrderByUserId(@PathVariable("orderId") Long orderId,@RequestHeader(value = "Truth",required = false) String truth) {// 根據(jù)id查詢訂單并返回return orderService.queryOrderById(orderId);}
}

也可以使用配置類,然后在其他地方注入屬性配置類,通過調(diào)用get方法獲取配置值

@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {private String dateformat;
}

注意:不是所有的配置都適合存放配置中心,一般是存放自定義配置

多環(huán)境配置共享

有一些是無論是什么環(huán)境都不會改變的配置可以采用多環(huán)境配置共享的方法來減少文件編寫次數(shù)。

微服務(wù)啟動時會從nacos讀取多個配置文件:

  • [spring.application.name]-[spring.profiles.active].yaml,例: userservice-dev.yaml
  • [spring.application.name].yaml,例如: userservice.yaml

無論profile如何變化,[spring.application.name].yaml這個文件一定會加載,因此多環(huán)境共享配置可以寫入這個文件。

配置文件優(yōu)先級

當(dāng)一個配置在Nacos中配置也在本地環(huán)境中配置時會存在配置文件優(yōu)先級的問題。優(yōu)先級從高到低排序?yàn)?/p>

  • [spring.application.name]-[spring.profiles.active].yaml:指定環(huán)境的優(yōu)先級最高
  • [spring.application.name].yaml:多環(huán)境配置次高
  • 本地配置最低

因此,當(dāng)同時配置一個屬性時,會采用指定環(huán)境的nacos配置文件。

Nacos集群搭建

Nacos集群為了保持?jǐn)?shù)據(jù)一致性,需要訪問同一個數(shù)據(jù)庫集群,當(dāng)請求發(fā)起時通過Nginx進(jìn)行負(fù)載均衡。

數(shù)據(jù)庫初始化

sql文件在nacos文件下的conf文件下存在一份

如果不存在可以復(fù)制如下代碼

CREATE TABLE `config_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) DEFAULT NULL,`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',`c_desc` varchar(256) DEFAULT NULL,`c_use` varchar(64) DEFAULT NULL,`effect` varchar(64) DEFAULT NULL,`type` varchar(64) DEFAULT NULL,`c_schema` text,PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '內(nèi)容',`gmt_modified` datetime NOT NULL COMMENT '修改時間',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租戶字段';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',`src_user` text COMMENT 'source user',`src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整個集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配額,0表示使用默認(rèn)值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大個數(shù),,0表示使用默認(rèn)值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大變更歷史數(shù)量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(64) unsigned NOT NULL,`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`data_id` varchar(255) NOT NULL,`group_id` varchar(128) NOT NULL,`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL,`md5` varchar(32) DEFAULT NULL,`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,`src_user` text,`src_ip` varchar(50) DEFAULT NULL,`op_type` char(10) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租戶改造';/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配額,0表示使用默認(rèn)值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大個數(shù)',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大變更歷史數(shù)量',`gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',`gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租戶容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '創(chuàng)建時間',`gmt_modified` bigint(20) NOT NULL COMMENT '修改時間',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE `users` (`username` varchar(50) NOT NULL PRIMARY KEY,`password` varchar(500) NOT NULL,`enabled` boolean NOT NULL
);CREATE TABLE `roles` (`username` varchar(50) NOT NULL,`role` varchar(50) NOT NULL,UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);CREATE TABLE `permissions` (`role` varchar(50) NOT NULL,`resource` varchar(255) NOT NULL,`action` varchar(8) NOT NULL,UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

配置nacos

存在3個nacos節(jié)點(diǎn),需要在conf目錄下,先修改application.properties文件中的端口號,避免重復(fù)。其次將mysql配置打開。

其次修改cluster.conf.example文件,重命名為cluster.conf。并點(diǎn)擊配置集群節(jié)點(diǎn)

如果是2.x版本的Nacos建議單口修改為8748、8648。因?yàn)樵?.x版本之后又引入了gRPC服務(wù),在啟動時會占用相鄰端口,啟動第一個之后的其他Nacos節(jié)點(diǎn)會導(dǎo)致端口占用。

啟動nacos

不需要指定-m等參數(shù),直接輸入指令startup.cmd

全部啟動成功。

負(fù)載均衡反向代理(Nginx)

配置Nginx,修改conf文件下的nginx.conf文件,添加如下代碼

雙擊啟動nginx.exe

訪問localhost/nacos展示如下

修改Java代碼配置、Nacos與Nginx服務(wù)啟動后需要在bootstarp.yml文件中配置Nginx配置的代理端口為80(你修改的Nginx端口)

http://www.risenshineclean.com/news/45698.html

相關(guān)文章:

  • 如何用電腦記事本做網(wǎng)站網(wǎng)絡(luò)營銷企業(yè)有哪些公司
  • 北京公司招聘整站優(yōu)化系統(tǒng)廠家
  • 免費(fèi)做網(wǎng)站安全嗎黑鋒網(wǎng)seo
  • 建設(shè)信用卡官網(wǎng)網(wǎng)站濟(jì)南計(jì)算機(jī)培訓(xùn)機(jī)構(gòu)哪個最好
  • 給網(wǎng)站做腳本算違法嗎淘寶seo什么意思
  • 做代理網(wǎng)站百度指數(shù)搜索榜
  • 李寧運(yùn)動服網(wǎng)站建設(shè)規(guī)劃書b2b網(wǎng)站有哪些平臺
  • 杭州網(wǎng)站建設(shè)工作室網(wǎng)站關(guān)鍵詞優(yōu)化怎么弄
  • 怎么找網(wǎng)站app推廣方式有哪些
  • 怎樣自己做免費(fèi)網(wǎng)站網(wǎng)絡(luò)推廣運(yùn)營優(yōu)化
  • 湘潭做網(wǎng)站問下磐石網(wǎng)絡(luò)nba最新交易信息
  • 有什么網(wǎng)站可以做運(yùn)動阿里指數(shù)官網(wǎng)最新版本
  • 提供邯鄲手機(jī)網(wǎng)站建設(shè)蘇州關(guān)鍵詞優(yōu)化seo
  • wordpress照片ppt網(wǎng)絡(luò)優(yōu)化師是什么工作
  • php做企業(yè)網(wǎng)站需要多久技術(shù)培訓(xùn)
  • 怎樣申請個人網(wǎng)站便民信息微信平臺推廣
  • 小游戲網(wǎng)站網(wǎng)址做網(wǎng)絡(luò)銷售如何找客戶
  • 在北京網(wǎng)站建設(shè)的崗位湖北網(wǎng)站建設(shè)制作
  • 門戶導(dǎo)航網(wǎng)頁模板seo網(wǎng)絡(luò)營銷是什么意思
  • html企業(yè)網(wǎng)站實(shí)例鄭州網(wǎng)絡(luò)seo公司
  • 做我女朋友好不好手機(jī)網(wǎng)站chatgpt網(wǎng)頁
  • 做網(wǎng)站雙12促銷方案百度官方免費(fèi)下載安裝
  • dede網(wǎng)站百度統(tǒng)計(jì)怎么做中國免費(fèi)網(wǎng)站服務(wù)器下載
  • 行業(yè)網(wǎng)站方案營銷型企業(yè)網(wǎng)站
  • 男生為女生做網(wǎng)站新媒體運(yùn)營
  • 日本做曖小視頻在線觀看網(wǎng)站百度app下載安裝 官方
  • 遵義市做網(wǎng)站的電話58和百度哪個推廣效果好
  • dw做網(wǎng)站背景圖片設(shè)置關(guān)鍵詞批量調(diào)詞 軟件
  • 做微信公眾號的網(wǎng)站有哪些內(nèi)容外貿(mào)平臺排名
  • 重慶景點(diǎn)排名seo優(yōu)化標(biāo)題 關(guān)鍵詞